当前位置:   article > 正文

[Chip]Unity开发笔记--Input System实现移动

[Chip]Unity开发笔记--Input System实现移动

1.Input Actions配置

1.在Project中右键Create一个Input Actions,此处命名为PlayerControl,用于管理Player。

2.双击进入Input Actions,在Action Maps中右键Add Action Map命名为Player,该Action Map用于控制Player的所有行为。

3.在Action中右键Add Action命名为Move,更改右侧Action Properties内Action中的Action Type为Value,Control Type为Vector2,该设置用于获取键盘输入的值存储于二维向量(Vector2)中从而实现Player进行前后左右的移动。

4.右键Move,可以进行按键的绑定,在Input System中已经为我们设置好了,点击Add Up\Down\Left\Right Composite即可,将会获得一个2D Vector的Binding,展开后点击Up,在右侧的Binding Properties内Binding中的Path选择Listen按下“W”键即可将“W”键绑定在Up上,同理将A,S,D绑定在Left,Down,Right上,该操作用于将W,A,S,D作为Player移动的按键。

配置完后如图所示

6.保存后关闭该窗口,在Inspector中将Generate C# Class打钩即可在脚本中将其作为代码调用。

2.代码编写

1.右键Create一个C# Script命名为Move,并挂载到Player的身上(将该脚本拖到创建好的Player物体身上,此处需自行创建Player)。

2.以下代码用于初始化PlayerControl。

  1. public class Move : MonoBehaviour
  2. {
  3. public PlayerControl playerControl;
  4. private void Awake()
  5. {
  6. playerControl = new PlayerControl();
  7. }
  8. private void OnEnable()
  9. {
  10. playerControl.Enable();
  11. }
  12. private void OnDisable()
  13. {
  14. playerControl.Disable();
  15. }
  16. }

3.我们选择使用Rigibody实现Player的移动,所以还需要为Player添加Rigibody组件,在开始时获取它。

  1. Rigidbody rb;
  2. private void Start()
  3. {
  4. rb=GetComponent<Rigidbody>();
  5. }

4.以下代码用于获取Player的移动方向并施加力。

  1. float speed=5f;
  2. //设置移动速度,可根据情况自行调整
  3. Vector2 inputVector;
  4. //用于装载PlayerControl获取的值
  5. Vector3 moveVector;
  6. //用于控制Player的移动方向
  7. private void FixedUpdate()
  8. {
  9. inputVector = playerControl.Player.Move.ReadValue<Vector2>();
  10. //通过WASD为inputVector赋值
  11. moveVector =transform.right * inputVector.x + transform.forward * inputVector.y;
  12. //Player的右边即inputVector.x的正方向,Player的前方为inputVector.y的正方向
  13. rb.AddForce(moveVector.normalized * speed, ForceMode.Force);
  14. //为Player身上的Rigibody组件施加力,第一个参数为施加力的方向,第二个参数为施加力的模式
  15. }

5.保存并运行即可

3.完整项目视频预览

[Unity练习作]类幽灵行者跑酷小游戏 (bilibili.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/958996
推荐阅读
相关标签
  

闽ICP备14008679号