Unity官方教程Ruby大冒险的自学笔记
一、
//正确例子:
void Update()
{
//获取运动矢量
moveX = Input.GetAxisRaw("Horizontal");
moveY = Input.GetAxisRaw("Vertical");
Vector2 position = rbody.position;
position.x += moveX * speed * Time.fixedDeltaTime;
position.y += moveY * speed * Time.fixedDeltaTime;
//用刚体移动可以消除画面抖动
rbody.MovePosition(position);
}
//错误例子:
Vector2 position = transform.position;
position.x += moveX * speed * Time.deltaTime;
position.y += moveY * speed * Time.deltaTime;
transform.position = new Vector2(position.x, position.y);
碰撞时,如果你坚持修改物体的位置属性使碰撞物体相交,那么你就会得到一个抖动的物体(抖出残影也不稀奇
考虑一个与现实类似的情况,