【Godot】乱数を扱う方法について基本から使い方まで徹底解説!

ゲーム開発において、乱数はプレイヤーの体験をより豊かにしてくれます。

例えば、敵の出現場所をランダムにしたり、アイテムの効果を変えたりすることで、ゲーム性が向上します。

今回は、Godotでの乱数の基本的な使い方やサンプルコードを使って、初心者の方にも分かりやすく解説します。

スポンサーリンク

【Godot】乱数を扱う方法について基本から使い方まで徹底解説!

乱数の基本

乱数とは、予測ができないように見えるランダムな数値のことです。ゲーム開発では、乱数を使ってイベントやオブジェクトの動きをランダムに設定し、予測できない面白さを演出するのに使われます。

Godotには、乱数を扱うための便利な関数がいくつか用意されていますので、以下で基本的な関数を見ていきましょう。

乱数を生成する関数

Godotでは、randf()やrandi()などの乱数生成関数が提供されています。それぞれの使い方と特徴を確認していきましょう。

1. randf(): 0〜1の小数を生成

randf()関数は、0から1の間のランダムな小数(浮動小数点数)を返します。例えば、敵の行動や色の透明度など、0から1の範囲でランダムな値を使いたいときに役立ちます。

適当なシーンを作成して、そこにテスト用のスクリプトをアタッチします。

このスクリプトを作成して実行してみると・・・。

Godotにおける乱数の基礎①

こんな感じで、ランダムな少数がコンソールに出力されると思います。

2. randi():  0〜4294967295(2^32-1)の整数を生成

randi()関数はランダムな整数を返します。比較的広い範囲で乱数を使いたい場合に適しています。

こちらも同様に、ランダムな整数を出力します。

3. ランダムな範囲で数値を取得する方法

乱数の範囲を指定して生成したいときには、rand_range()やrandi_range()が便利です。

1. randf_range(): 任意の範囲で小数を生成

randf_range(min, max)は、指定した範囲の小数をランダムに生成します。たとえば、0.5〜2.5の間でランダムな値を取得する場合には次のように書きます。

2. randi_range(): 任意の範囲で整数を生成

randi_range(min, max)は、指定した範囲の整数をランダムに生成します。キャラクターの移動やオブジェクトの出現場所など、整数で表現したい範囲があるときに使うと便利です。

4. 応用編:乱数を使った実装例

乱数を使うと、ゲーム内でさまざまなランダム要素を実装できます。以下に、Godotで乱数を使った簡単な例をいくつか紹介します。

例:ランダムな位置にオブジェクトを配置

乱数を使って、キャラクターやアイテムがランダムな場所に出現する処理を実装します。

まずは、シーンにSprite2Dノードを追加します。

続いて、適当な画像を用意してファイルシステムにインポートしましょう。

Godotにおける乱数の基礎②

Sprite2Dノードを選択して「Texture」に設定したい画像をドラッグ&ドロップします。

私は、土管の画像を使用することにします。

Sprite2Dノードを選択してスクリプトをアタッチします。

実行すると、設定した範囲内にてランダムな位置に画像が表示されると思います。

Godotにおける乱数の基礎③

 

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
Godot
スポンサーリンク
シェアする
うんくんをフォローする