物体(物理上)跟随手指

问题描述 投票:-1回答:1

我有一个播放器对象。它可以向右或向左移动,直至某个边界。在计算机版本中,对象是通过按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); 
c# android unity3d touch
1个回答
0
投票

我从未使用过触摸控件,但这可能对您有用

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.