GDScriptの使い方をChatGPTに聞く

乱数生成

<< 戻る

あなた:
GDScript2で、乱数を取得する方法は
ChatGPT:

GDScript 2.0(Godot 4.x)では、乱数を扱うためのメソッドが RandomNumberGenerator クラスに集約されています。これを使うのが推奨されており、以前の randi()randf() のようなグローバル関数は非推奨または廃止されています。

以下は、GDScript 2.0で乱数を取得する基本的な方法です:


1. ランダムな整数を取得(例:0〜9)

gdscript
var rng = RandomNumberGenerator.new() rng.randomize() # 時間を元にシードを設定 var random_int = rng.randi_range(0, 9) print(random_int)

2. ランダムな浮動小数点数(例:0.0〜1.0)

gdscript
var rng = RandomNumberGenerator.new() rng.randomize() var random_float = rng.randf() print(random_float)

3. 特定の範囲の浮動小数点数(例:-5.0〜5.0)

gdscript
var rng = RandomNumberGenerator.new() rng.randomize() var random_range = rng.randf_range(-5.0, 5.0) print(random_range)

注意点

  • randomize() を呼ばないと、毎回同じ乱数列になります(テスト目的では省略することもあります)。

  • RandomNumberGenerator はオブジェクトなので、毎回 new() するか、再利用できます。


必要なら、ノードにメンバーとして持たせて再利用できるようにもできますよ:

gdscript
@onready var rng := RandomNumberGenerator.new() func _ready(): rng.randomize() print(rng.randi_range(1, 100))

他にも乱数で何かしたいことがあれば教えてください!