es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Comprobando si la tecla está siendo presionada

Tengo un juego en el que colocas torres en el mapa, funciona bien, pueden hacer clic y las torres se colocan en el modo de construcción está establecido en falso. Quiero permitir al jugador mantener presionada la tecla Shift para poder colocar múltiples torres y luego, cuando suelten Shift, el modo de construcción cambiará a falso, pero no puedo resolverlo.

Esto es lo que tengo hasta ahora, pero no parece funcionar como se pretende:

func _input(event):
    if event.is_action_released("ui_accept") and build_mode == true:
        verify_and_build()
    if event.is_action_released("multi_build"):
        cancel_build_mode()

He asignado “ui_accept” al clic izquierdo y “multi_build” a la tecla Shift.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para permitir al jugador colocar varias torres mientras mantiene presionada la tecla Shift, puedes modificar el código para usar la clase Input y comprobar el estado de la tecla Shift.

    Una solución podría ser:

    func _input(event):
        if Input.is_action_pressed("multi_build"): # comprobar si la tecla Shift está presionada
            build_mode = true
        if event.is_action_released("ui_accept") and build_mode:
            verify_and_build()
        if Input.is_action_released("multi_build"): # comprobar si la tecla Shift se ha soltado
            build_mode = false
    

    Aquí comprobamos si la tecla Shift está presionada usando Input.is_action_pressed("multi_build"). Si es así, establecemos build_mode como true.

    Luego comprobamos si se ha soltado el clic izquierdo (event.is_action_released("ui_accept")) y si build_mode es true, llamamos a verify_and_build() para colocar la(s) torre(s).

    Finalmente, comprobamos si se ha soltado la tecla Shift usando Input.is_action_released("multi_build") y volvemos a establecer build_mode como false.

    Esto debería permitir al jugador colocar varias torres mientras mantiene presionada la tecla Shift y volver al modo de construcción normal cuando se suelta la tecla Shift.

Comments are closed.