Menu
CoddyTech

ランダムなレーン

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のいずれかになり、その間の値にはなりません。

challenge icon

チャレンジ

簡単

ブロックが5つのレーンに落ちるようにします。

  1. _on_spawn_timer_timeout()内で、var lane = randi_range(0, 4)を使ってレーンを選びます。
  2. 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)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ゲームのルールのすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド