本期主要记录关于摇杆操作,以及关于移植操作到手机端的问题。

虽然我们最后的目标是移植到手机端上,但是手机端的按键最终只是一种输入方式,所以完成一种按键的输入设计即可。
首先摇杆不管是键盘还是手柄,最终我们都是希望通过Vector2的形式来进行管理。所以我们的Action的类型首先选择Value输入类型为Vector2。

接下来添加按键响应,首先我们添加一个摇杆的响应 Stick。

这是一个真实的手柄摇杆输入,但是如果你需要各类不同手柄的左摇杆输入,就在搜索栏输入left。

这里直接就使用了Stick。
如果是键盘WASD,我们需要添加一个2D Vector Composite。

得到下面的输入,绑定上WASD即可。


接下来就是设置Player Input组件的回调了,我们在代码中需要给InputAction.CallbackContext变量的输入,这个会将摇杆的输入作为参数传入到函数中,然后通过ReadValue来读取指定的类型。

Player Input中设置如下。


最后的问题,就是关于绑定到屏幕输入上了。
我们只需要一个UI->Button组件(需要将你的event system替换成input system专用的)。然后给这组件挂上相应的组件。
例如按钮,我们给按钮挂一个On-Screen Button组件,不需要填OnClick中的内容,也不需要再回到Input Setting中绑定按键。点击Control Path选择一个你已有的输入。

这里空格是我设计好的键盘输入跳跃,我们相当于是将屏幕的按钮映射到了键盘的空格键。

摇杆的话,添加叫做On-Screen Stick的组件,Control Path的意思同上,50表示可以拖动的虚拟摇杆的范围。

这样就可以完全使用触屏进行有效的操作了。

彩紫睨羽