En este momento estás viendo Presiona cualquier tecla para jugar

 – Unity

Presiona cualquier tecla para jugar – Unity

Presiona cualquier tecla para jugar

– UnityAssets3Free

bienvenido , por aqui juansito y esta vez os traigo
esta unity pregunta

Soy nuevo en Unitye. Estoy tratando de crear un menú para un juego, pero no puedo presionar una tecla para activar el botón.

public class MenuCamControl : MonoBehaviour

    public Transform currentMount;
    public float speed = 0.1f;
    public float zoom = 0.1f;   

    void Update()
    
        transform.position = Vector3.Lerp(transform.position, currentMount.position, speed);
        transform.rotation = Quaternion.Slerp(transform.rotation, currentMount.rotation, speed);
        
    

    public void SetMount(Transform newMonut)
    
       
               currentMount = newMonut;
              
    

Editar: agregué el código que tengo ahora, que es una animación.

Edit2: Aquí es donde toma la animación. Imagen

1 respuesta 1

Usar Input.anyKey y una bandera para determinar cuándo se pulsa la primera tecla para no pulsarla varias veces.

public class Example: MonoBehaviour

    private bool keyPressed = false;
    void Update()
    
        if (Input.anyKey && !keyPressed)
        
             keyPressed = true; 
        
        else
        
                // put your camera move code here 
        
    

Este método también toma cualquier entrada del mouse. Si realmente solo desea que continúe cualquier entrada de teclado y no cualquier entrada de mouse, puedo actualizar mi respuesta.

No necesita un botón de interfaz de usuario para esto. Solo una función para rastrear si se produce una entrada y otra para iniciar o cargar tu juego. Si desea que el juego comience cuando se hace clic en un botón, simplemente asigne el oyente onClick a una función en el código o en el inspector.

Si agrega el código que desea ejecutar o lo que desea hacer después del clic, puedo actualizar mi fragmento.

Para editar: Así es como combinaría mi fragmento y su código actual. También puedes usar un CoroutinePero no es necesario.

public class MenuCamControl : MonoBehaviour

    public Transform currentMount;
    public float speed = 0.1f;
    public float zoom = 0.1f;  
    
    private bool keyPressed = false;

    void Update()
    
        if (Input.anyKey && !keyPressed)
        
             keyPressed = true; 
        
        else
        
            transform.position = Vector3.Lerp(transform.position, currentMount.position, speed);
            transform.rotation = Quaternion.Slerp(transform.rotation, currentMount.rotation, speed);
        
    

    // I am not sure what this does, it currently is not called?
    public void SetMount(Transform newMonut)
    
       currentMount = newMonut;      
    

Común Coroutinepuede ser algo como

void Update()

    if (Input.anyKey && !keyPressed)
    
        keyPressed = true; 
        
        if(referenceToCoroutine == null)
            referenceToCoroutine = StartCoroutine(DoCameraAnimation());
    


private IEnumerator DoCameraAnimation()

    ...   

Tendría que cambiar ligeramente la animación de la cámara actual para trabajar en una Coroutine.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

sin mas,hasta la proxima

Deja una respuesta