统一左右滑动bug



大家好,感谢您的帮助,我正在创建一个需要左右滑动才能移动的手机游戏(地铁冲浪者风格(现在代码运行正常,但当我开始游戏时,玩家总是在最左边的车道上移动和开始,而不是像我希望的那样呆在中间(他移动后,你可以滑动得很好(有关于如何修复的线索吗?

代码:

private float startpos;
private int pos;
public float[] positionsset;
public GameObject player;
private Vector3 velocityf = Vector3.zero;
void Start()
{

}
// Update is called once per frame
void Update()
{

if (Input.GetMouseButtonDown(0))
{
startpos = Input.mousePosition.x;
}
/////////////////////////////////////////////////////
else if (Input.GetMouseButtonUp(0))
{
if (Input.mousePosition.x - startpos > 0 && pos < 2)
{
pos++;
}
else if (Input.mousePosition.x - startpos < 0 && pos > 0)
{
pos--;
}
}
player.transform.position = Vector3.SmoothDamp(player.transform.position, new Vector3(positionsset[pos], player.transform.position.y, player.transform.position.z), ref velocityf, 0.1f);
}
}

您没有将pos初始化为任何值,因此它将被设置为默认值0。由于0表示左侧车道,它将从左侧车道开始。只需将int pos;更改为int pos = 1;,它就应该从中间车道开始。或者,您可以将pos设置为公共变量,并在检查器中设置其值,这样,如果您想从另一条车道开始,就可以更容易地进行调整。

相关内容

  • 没有找到相关文章

最新更新