游戏制作之路(19)角色实现向上跳动

栏目: 后端 · 发布时间: 7年前

内容简介:前面介绍了角色可以四个方向进行移动了,但是角色不能向上跳动,意味着角色还是在一个二维空间里走动,要让角色像人一样,可以跳起来,实现三维移动。我们来仔细观看一下人的跳动,当你双脚用力蹦一下时,人的身体就有一个初始速度,向天空上飞起来,但由于地球给人一个引力,所以速度会慢慢地减慢,减到0,然后又开始向地面加速落下来。在游戏世界里是一样的,我们要给角色一个y轴的初始速度,它就会向上跳起,然后模拟重力,把速度慢慢地变慢,就角色就会停下来,最后慢慢最加速掉下来。接着下来,我们要把这些内容转换为代码,先来看一下前面的

前面介绍了角色可以四个方向进行移动了,但是角色不能向上跳动,意味着角色还是在一个二维空间里走动,要让角色像人一样,可以跳起来,实现三维移动。我们来仔细观看一下人的跳动,当你双脚用力蹦一下时,人的身体就有一个初始速度,向天空上飞起来,但由于地球给人一个引力,所以速度会慢慢地减慢,减到0,然后又开始向地面加速落下来。在游戏世界里是一样的,我们要给角色一个y轴的初始速度,它就会向上跳起,然后模拟重力,把速度慢慢地变慢,就角色就会停下来,最后慢慢最加速掉下来。

接着下来,我们要把这些内容转换为代码,先来看一下前面的移动的代码:

Vector3 input = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));
        gameObject.GetComponent<CharacterController>().Move(transform.TransformDirection(input * speed * Time.deltaTime));

可以发现这行代码,只有四个方向移动,也就是水平和垂直方向的移动,要在这里添加Y轴方向的移动向量,就可以了。因此,增加一个向上跳起和落下的速度变量,如下:

private float yVelocity = 0;

接着下来,定义一个初始速度的常量和一个重力加速度的常量,如下:

public float jumpSpeed = 15.0f;
    public float gravity = 30.0f;

然后在Update函数里更新移动代码,主要增加Y轴方向的坐标改变,如下:

gameObject.GetComponent<CharacterController>().Move(transform.TransformDirection(input * speed * Time.deltaTime + yVelocity * Vector3.up * Time.deltaTime));

在这里与前面的代码对比,发现后面多了跳起的代码:

yVelocity * Vector3.up * Time.deltaTime

在这里第一个变量是角色Y轴的速度,Vector3.up是Y轴的向上的方向量,Time.deltaTime是随着每秒时间更新移动位置。

接着增加跳动的触发代码,就是增加按钮检测,如下:

if (Input.GetButtonDown("Jump"))
        {
            yVelocity = jumpSpeed;
        }

当玩家按下空格键时,角色就获得初始速度,这样就向上的方向进行飞起,如果没有增加重力作用,角色会一起飞向太空,因此需要增加重力为约触角色的向上的速度,如下:

yVelocity -= gravity * Time.deltaTime;

这里就是把向上的速度进行减少,还会慢慢地向下加速移动。这就是增加重力作用的效果,这时你可以按下play来跳动了。如下图:

游戏制作之路(19)角色实现向上跳动

到这里,就实现了角色进行跳动。

TensorFlow API攻略

http://edu.csdn.net/course/detail/4495

TensorFlow入门基本教程

http://edu.csdn.net/course/detail/4369

C++标准模板库从入门到精通 

http://edu.csdn.net/course/detail/3324

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网爆破术:快速掌握互联网运营全链条实战技巧

互联网爆破术:快速掌握互联网运营全链条实战技巧

茶文 / 电子工业出版社 / 2018-7 / 49.00元

《互联网爆破术:快速掌握互联网运营全链条实战技巧》是一本实用的互联网运营书籍,可以让读者快速掌握运营全链条的干货技巧和相关模型,涵盖如何有效寻找市场的需求爆破点,通过测试一步步放大并引爆,直至赢利。《互联网爆破术:快速掌握互联网运营全链条实战技巧》非常适合互联网运营人员及互联网创业者阅读,它可以帮读者快速了解互联网运营的核心技巧,并用最低的成本取得成功。本书5大特色:快速入门、实战干货、低成本、系......一起来看看 《互联网爆破术:快速掌握互联网运营全链条实战技巧》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试