Мой код Unity C# не заставляет спрайт [весло] перемещаться вверх и вниз на сенсорном экране
Мой код Unity C# не заставляет спрайт [весло] перемещаться вверх и вниз на сенсорном экране
using UnityEngine;
using System.Collections;
public class Paddle : MonoBehaviour
{
public float paddleSpeed = 1;
public Vector3 playerPos;
void Update()
{
float yPos = transform.position.y + (Input.GetAxis("Vertical") * paddleSpeed);
playerPos = new Vector3(-20, Mathf.Clamp(yPos, -13, 13), 0);
transform.position = playerPos;
}
}
1 ответ
Во-первых, проверьте, возвращает ли Input.GetAxis("Vertical") значение. Возможно, вы ввели неверное отображение, и вы никогда не получите значение. Затем проверьте, не слишком ли велико значение. Поскольку вы зажимаете между -13 и 13, возможно, ваш объект остается на том же месте.
И просто несколько советов:
Очевидно, вам не нужен playerPos как переменная класса, поскольку вы используете его только в одной функции
Запустите функцию обновления, проверив
if(Input.GetAxis("Vertical") > 0 )
В противном случае вы будете создавать и назначать позицию каждый раз, даже если она не изменится