首先给角色添加Rigbody2D组件和碰撞体,根据需要可以冻结z轴,防止旋转。
移动代码的写法非常多,这里写两种如下:
1.使用Rigbody2D的MovePosition方法进行移动
playerRig.MovePosition(new Vector2(playerTransform.position.x - speed*Time.deltaTime, playerTransform.position.y));
2.使用Transform的Translate方法进行移动
playerTransform.Translate(Vector2.left * speed * Time.deltaTime);
对于水平移动来说,这两个写法都能完全胜任,但当我们加上跳跃时就会有明显的不同。
跳跃实现如下:
playerRig.AddForce(new Vector2(0, 500));
然后我们在跳跃时用两种不同的移动方法移动。
第一种移动方法效果如下: