Dirigir
Lição 1 de 20 do curso Jogo na Godot: Circuito Neon da Coddy.
Neste curso, você vai criar um jogo completo, um recurso por aula: um jogo de corrida neon visto de cima. Você vai competir contra três carros rivais durante três voltas em uma pista iluminada.
O projeto tem três scripts para você: car.gd no carro, rival.gd para os rivais e race.gd para a corrida. Outras duas partes já são fornecidas e ficam ocultas: a pista, que desenha a estrada e responde a perguntas sobre ela, e a cena. Você não precisará alterá-las.
Hoje, o carro aprende a dirigir. Ele mantém uma velocity: quantos pixels se move por segundo e em que direção. A direção para a qual o carro aponta é a rotation convertida em uma direção:
var forward := Vector2.RIGHT.rotated(rotation)Enquanto a tecla Up estiver pressionada, a velocidade aumenta nessa direção em accel por segundo. Input.get_action_strength vale 1.0 enquanto a tecla está pressionada e 0.0 quando não está:
var throttle := Input.get_action_strength("move_up")
velocity += forward * throttle * accel * delta
velocity = velocity.limit_length(max_speed)
position += velocity * deltalimit_length mantém a velocidade em max_speed ou abaixo. Multiplicar por delta, o tempo em segundos desde o último quadro, mantém a velocidade igual tanto em uma tela rápida quanto em uma lenta.
Desafio
Fácil- Em
car.gd, substituapassem_physics_processpelas linhas acima. - Por último, faça o escapamento brilhar enquanto você dirige:
$Exhaust.emitting = throttle > 0.0. - Pressione “Jogar” e mantenha pressionada a tecla de seta para cima (ou W).
Experimente você mesmo
extends Node2D
@export var accel := 260.0
@export var max_speed := 200.0
var velocity := Vector2.ZERO
func _physics_process(delta: float) -> void:
pass # drive here
Todas as lições de Jogo na Godot: Circuito Neon
Pratique por conta própria: Playground de Godot