Menu
CoddyTech

Entrada não tratada

Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 6 de 28.

O Godot também pode informar você sobre as teclas. Cada pressionamento e cada soltura de tecla são um evento. O Godot envia cada evento para uma função chamada _unhandled_input:

func _unhandled_input(event):
	if event.is_action_pressed("action"):
		print("Action!")

A função é executada uma vez por evento, não a cada quadro. event.is_action_pressed("action") é verdadeiro quando o evento é o pressionamento da tecla action. Ao soltar a tecla, é falso.

not transforma true em false e vice-versa. Esta linha liga e desliga um nó:

$Lamp.visible = not $Lamp.visible

O herói tem uma Lamp oculta na antena. As teclas action são E e Enter.

challenge icon

Desafio

Fácil

Ligue e desligue a lâmpada do herói com uma tecla.

  1. Em _unhandled_input(event), adicione um if para event.is_action_pressed("action").
  2. Dentro dele, defina $Lamp.visible como o oposto do valor atual.

Pressione “Jogar” e pressione E: a lâmpada acende e, ao pressionar novamente, ela apaga. Em seguida, clique em “Verificar”.

Experimente você mesmo

extends Node2D

func _unhandled_input(event):
	pass
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Entrada e movimento

Pratique por conta própria: Playground de Godot