我有一个播放器对象。它可以向右或向左移动,直至某个边界。在计算机版本中,对象是通过按A和D来控制的。但是,我正在开发一款适用于Android的游戏,因此我需要使对象在用户的手指后面顺滑滑动。如果手指抬起,则物体应停止。我该如何实施? (我正在模拟Ball Blast)
我写了一些代码,但是问题是对象只是在传送,我需要身体运动。例如,如果您在屏幕的右侧滑动手指(对象移至右侧),然后抬起手指并在屏幕的左侧滑动,则该对象只是在此处移动。我需要它以一定速度平稳地驱动到手指位置。我该怎么做?
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
fingerPos = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
fingerPos.y = transform.position.y;
fingerPos.z = transform.position.z;
transform.position = fingerPos;
}
键盘控制代码:
if (Input.GetKey(KeyCode.A))
rb.velocity = new Vector2(-speed, rb.velocity.y);
else if (Input.GetKey(KeyCode.D))
rb.velocity = new Vector2(speed, rb.velocity.y);
else
rb.velocity = new Vector2(0, rb.velocity.y);
我从未使用过触摸控件,但这可能对您有用
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
fingerPos = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
fingerPos.y = transform.position.y;
fingerPos.z = transform.position.z;
transform.position += fingerPos * Time.deltaTime;
}