Posições Aleatórias
Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 20 de 29.
É fácil desviar de blocos que sempre caem no mesmo lugar. Números aleatórios tornam cada rodada diferente.
randf_range(a, b) fornece um número aleatório de a a b, com casas decimais. Cada chamada fornece um novo número:
spawn(randf_range(40, 600))Um bloco tem 36 pixels de largura. Portanto, o intervalo de 40 a 600 mantém cada bloco totalmente dentro da tela de 640 pixels.
Chame essa função dentro da função do temporizador, toda vez que um bloco surgir. Um número escolhido uma vez e armazenado em uma variável permanece igual durante todo o jogo.
Desafio
FácilFaça cada bloco cair em um x aleatório entre 40 e 600, escolhido quando o bloco surgir.
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(320)
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