メインコンテンツまでスキップ

Ruby ファイルを作成する

ファイルシステム上で作成する

ファイルシステム上で、右クリックして、新規作成DSL/boot *.rb を選択すると Ruby ファイルを作成できます。

Ruby ファイルの作成

ダイアログが表示されるので、ファイル名を確認して OK ボタンを押下します。

Ruby ファイルの作成ダイアログ

Ruby ファイルが作成されたと思います。

Ruby ファイルを開く

Ruby ファイルを編集するには、ファイルシステム上の .rb ファイルをダブルクリックします。 メインスクリーンに Ruby ファイルの内容がエディタに表示されたと思います。

Ruby ファイルを開く

もしくは、メインスクリーンが ReDScribe になっている場合は、あいまい検索でファイルを開くことができます。

Ctrl-o (macOS の場合は Command-o) を押下してみましょう。

あいまい検索

Ruby ファイルを保存する

ファイルは、Ctrl-s (macOS の場合は Command-s) で保存できます。

エディタで、Ruby ファイルを以下のように編集して保存してみましょう。

boot.rb
def greeting
Godot.emit_signal :greeting, "Hello from Ruby"
end

GDScript から Ruby ファイルを実行する

シーンを作成して、以下のように GDScript ファイルをアタッチします。

control.gd
extends Control

@export var res : ReDScribe


func _ready() -> void:
res.channel.connect(_subscribe)
res.perform('greeting')


func _subscribe(key: StringName, payload: Variant) -> void:
print_debug("[subscribe] ", key, ": ", payload)

@export は、メンバ変数を Godot のインスペクタで編集できるようにするための修飾子です。

インスペクタに Res プロパティが表示されたと思います。

インスペクタ

Res プロパティを押下して、新規 ReDScribe を選択します。

Boot File のファイルアイコンを押下して、先ほど作成した boot.rb を選択します。

boot_file を設定する

選択した後に、シーンを実行してみましょう。

以下のように出力パネルに出力されたと思います。

Output
[subscribe] greeting: Hello from Ruby
At: res://src/06.create_ruby_files/control.gd:12:_subscribe()

GDScript では、

res.perform('greeting')

と書いただけです。

このように ReDScribe の boot_file 変数を使うことで、Ruby と GDScript をきれいに棲み分けることができます。

積極的に boot_file を使ってみましょう。