我已经坚持了一段时间,我很感激你的帮助。
我需要将游戏移植到移动设备上,因此我需要更改控制方案以考虑点击。
我想继续使用Input.GetAxis(“Horizontal”),因为游戏是围绕它构建和平衡的,只要玩家点击屏幕的左/右侧,就可以模拟左/右击键。
这有可能吗?
的onUpdate:
touchMove()
playerPosition.x += Input.GetAxis ("Horizontal") * playerVelocity;
transform.position = playerPosition;
检查点击次数
private void touchMove()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.position.x < Screen.width/2)
{
//simulate a left keyboard push
}
else if (touch.position.x > Screen.width/2)
{
//simulate a left keyboard push
}
}
}
答案 0 :(得分:1)
经过一些研究,似乎不可能有一个脚本将值设置为输入。
作为替代品,您可以使用自己的中间函数来考虑您想要的任何内容。
示例:
private int GetAxisHorizontal()
{
// Get whatever should return your axis value
if(Input.touches > 0) {... return value;}
else return Input.GetAxis("Horizontal");
}
你可以像正常的功能一样使用它:
playerPosition.x += GetAxisHorizontal() * playerVelocity;
答案 1 :(得分:0)
最后我添加了一个力来模拟运动和拖动来模拟减速。它是getAxis的一个非常好的替代品。
我需要更多地调整我的代码,但这应该适用于键盘和触摸输入。
答案 2 :(得分:0)
我做了r3x做了什么,this现在是我的播放器脚本。它具有移动和键盘控制,以及内置的多个绑定选项(更改KeyBindings
类)。
(代码事物仍然有点儿)
编辑:只是想要注意,很多这个脚本都是获取键/鼠标位置并将其缩小以使其平滑。使/ 40f
降低以增加平滑度。