Um eixo
Parte da seção Entrada e movimento do Journey de Godot da Coddy. Lição 3 de 28.
Esquerda e direita são as duas extremidades de uma linha, um eixo. Input.get_axis() verifica as duas ações e retorna um número:
-1enquanto a primeira ação estiver pressionada (esquerda)1enquanto a segunda estiver pressionada (direita)0quando nenhuma estiver pressionada, ou quando ambas estiverem
Multiplique esse número pela velocidade, e o herói se move na direção certa sem if:
var speed = 300
func _process(delta):
var direction = Input.get_axis("move_left", "move_right")
position.x += direction * speed * deltaQuando direction é -1, x diminui e o herói se move para a esquerda. Quando é 0, o herói fica parado.
Desafio
FácilFaça o herói andar para a esquerda e para a direita com uma linha de entrada.
- Em
_process(), armazeneInput.get_axis("move_left", "move_right")emvar direction. - Mova
position.xpordirection * speedpor segundo.
Pressione “Jogar”: as setas fazem o herói andar a 300 pixels por segundo, e pressionar ambas ao mesmo tempo o mantém parado. Depois, pressione “Verificar”.
Experimente você mesmo
extends Node2D
var speed = 300
func _process(delta):
pass
Todas as lições de Entrada e movimento
Pratique por conta própria: Playground de Godot