ランダムなレーン
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 21/29。
ランダムに選ぶ値の中には、5つのレーンのいずれかやサイコロの出目のように、整数が必要なものもあります。
randi_range(a, b)は、aからbまでの整数をランダムに返します。両端の値も含まれます。
var roll = randi_range(1, 6) # 1, 2, 3, 4, 5 または 6画面の幅は640ピクセルなので、5つのレーンはそれぞれ128ピクセルです。レーン番号に128を掛けてから64を足すと、レーンの中央に到達します。
var lane = randi_range(0, 4)
spawn(lane * 128 + 64)これにより、x = 64、192、320、448、576のいずれかになり、その間の値にはなりません。
チャレンジ
簡単ブロックが5つのレーンに落ちるようにします。randi_range(0, 4)でレーンを選び、lane * 128 + 64の位置にブロックを生成します。
自分で試してみよう
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)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ゲームのルールのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド