我有一个球体正在向前移动,当它在屏幕上滑动时(仅在x轴上),我需要它平稳地跟随我的手指。 我试图使Rolling Sky,Color Road
一样准确
当球在x轴上滑动并平稳移动时,应该跟随我的手指。
就像我之前提到的游戏一样。
我尝试了OnMouseDrag
和多种方法,但是由于它没有跟随手指或在手指滑动时没有移动,因此无法正常工作。
答案 0 :(得分:1)
据我了解,您似乎想获取用户手指的位置并相应地移动球?
您可以使用Touch.position
示例:
private void Update()
{
Touch touch = Input.GetTouch(0); // Get the touch data for the first finger
Vector2 position = touch.position; // Get the position in screen-space
Vector3 worldPosition = Camera.main.ScreenToWorldPoint(position); // Convert the position to world space
Vector3 ballPosition = ball.transform.position;
ball.transform.position = new Vector3(worldPosition.x, ballPosition.y, ballPosition.z); // Move the ball
}
答案 1 :(得分:0)
我认为您应该与球体分开处理输入。
将其放在脚本上以检测屏幕上的滑动。
bool inputBegan = false;
Vector2 beganPosition;
void Update()
{
if (!inputBegan && Input.GetMouseButtonDown (0))
{
inputBegan = true;
beganPosition = Input.mousePosition;
}
else if (inputBegan && Input.GetMouseButtonUp (0))
{
//If you want a threshold you need to change this comparison
if (beganPosition.x > Input.mousePosition)
{
MoveBallLeft ();
}
else
{
MoveBallRight ();
}
inputBegan = false;
}
}
您可以通过将球Vector2.right * movingDistance
添加或减去targetPosition
来实现球的运动,如果您希望球运动或使用currentPosition
和pinetree.com - displays information about pine trees
oaktree.com - displays information about oak trees
admin.pinetree.com - displays admin for managing pine trees
admin.oaktree.com - displays admin for managing oak trees
使球缓慢移动,则每个更新周期都会增加一点变换距离。
答案 2 :(得分:0)
我通过this并将它的变量NavigationMultiplier设置为10000来解决了这个问题