Por lo tanto, estoy tratando de hacer que mi juego Unity pase del movimiento usando el teclado al movimiento usando los botones de la interfaz de usuario en pantalla. Utilicé los botones integrados de la interfaz de usuario en Unity, vinculé el botón al objeto que estoy tratando de mover y disparé una sección de un script para mover el objeto. El problema es que solo detecta la entrada de presionar el botón al principio, ¿cómo detectas que se mantiene presionado el botón?
Puede verificar el botón que se mantiene presionado al verificar cuando se suelta el botón
Primero agregue el componente Event Trigger a su botón, agregue dos eventos PointerDown y PointerUp , luego establezca un bool en true en PointerDown y false en PointerUp , ese bool es si el botón se mantiene presionado, por ejemplo:
public class CheckHeldDown : Monobehaviour { public bool isHeldDown = false; public void onPress () { isHeldDown = true; Debug.Log(isHeldDown); } public void onRelease () { isHeldDown = false; Debug.Log(isHeldDown); } }Si desea crear su juego en el dispositivo móvil, puede detectarlo con la cantidad de toques. Por ejemplo, este es un código que acabo de usar para hacer un botón Nitro en un juego de carreras:
public class NitroButton : MonoBehaviour { [HideInInspector] public bool pushed; public void Update() { if (Input.touchCount >= 2) { pushed = true; } else { pushed = false; } } }Esto también permite empujar con dos dedos y demás.