Faixas Aleatórias
Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 21 de 29.
Algumas escolhas aleatórias precisam de um número inteiro, como uma entre cinco pistas ou o resultado do lançamento de um dado.
randi_range(a, b) fornece um número inteiro aleatório de a a b, incluindo ambos:
var roll = randi_range(1, 6) # 1, 2, 3, 4, 5 ou 6A tela tem 640 pixels de largura, então cada uma das cinco pistas tem 128 pixels. Multiplique a pista por 128 e depois some 64 para chegar ao meio da pista:
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)Isso resulta em x = 64, 192, 320, 448 ou 576, sem nenhum valor entre eles.
Desafio
FácilFaça os blocos caírem em cinco faixas.
- Em
_on_spawn_timer_timeout(), escolha uma faixa comvar lane = randi_range(0, 4). - Faça o bloco surgir em
lane * 128 + 64.
Pressione “Jogar”: os blocos caem em colunas organizadas. Em seguida, pressione “Verificar”.
Experimente você mesmo
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
func _on_spawn_timer_timeout():
spawn(randf_range(40, 600))
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Regras do jogo
4Criação de Instâncias
Uma Cena EmpacotadaPosicione o Novo NóUma Função de CriaçãoCrie Instâncias com um TemporizadorPosições AleatóriasFaixas AleatóriasPratique por conta própria: Playground de Godot