Positions aléatoires
Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 20 sur 29.
Les blocs qui tombent toujours au même endroit sont faciles à esquiver. Les nombres aléatoires rendent chaque manche différente.
randf_range(a, b) donne un nombre aléatoire entre a et b, avec des décimales. Chaque appel en donne un nouveau :
spawn(randf_range(40, 600))Un bloc fait 36 pixels de large. Ainsi, la plage de 40 à 600 permet de garder chaque bloc entièrement dans l’écran de 640 pixels.
Appelez-la dans la fonction du minuteur, chaque fois qu’un bloc apparaît. Un nombre choisi une seule fois et conservé dans une variable reste le même pendant toute la partie.
Défi
FacileFais tomber chaque bloc à un endroit aléatoire.
- Dans
_on_spawn_timer_timeout(), remplace320parrandf_range(40, 600). - Laisse-le dans la fonction afin que chaque bloc ait sa propre coordonnée x.
Appuie sur « Jouer » : les blocs tombent sur tout l’écran. Puis appuie sur « Vérifier ».
Essayez vous-même
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)
Toutes les leçons de Règles du jeu
4Création d’instances
Une scène regroupéePlacer le nouveau nœudUne fonction de créationCréer des instances avec un minuteurPositions aléatoiresVoies aléatoiresEntraînez-vous par vous-même : Playground Godot