Unity 3D之旅

Unity 3D之旅<1>——GameObject的移动和转向

在游戏开发中,游戏对象的移动是最基本的操作.

第一种移动和转向的方法

private void Move ()
{
    m_MovementInputValue = Input.GetAxis ("Vertical");
    Vector3 movement = transform.forward * m_MovementInputValue * m_Speed * Time.deltaTime;
    m_Rigidbody.MovePosition(m_Rigidbody.position + movement);
}

Input.getAxis() 这个方法的返回值是个是个浮点型,范围在-1~1 之间,相比Input.getKeyDown() ,用这个方法的好处是能够有加速和减速的效果.因为按下键后,要过一段时间才到1,这时速度才走向最大值,同理,当键抬起时,要过一会才会回到0.这样就达到了减速的效果.达到一种更真实的效果.
Time.deltaTime 是完成上一帧所用的时间,是个非常小的值
transform.forward是个常数,表示向前的方向,控制方向的是Input.getAxis
这个movement是个十分小的值,相当于每帧微分,当每帧调用m_Rigidbody.MovePosition() 达到移动的目的了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值