Ruby ファイルを作成する
ファイルシステム上で作成する
ファイルシステム上で、右クリックして、新規作成 → DSL/boot *.rb を選択すると Ruby ファイルを作成できます。
ダイアログが表示されるので、ファイル名を確認して OK ボタンを押下します。
Ruby ファイルが作成されたと思います。
Ruby ファイルを開く
Ruby ファイルを編集するには、ファイルシステム上の .rb
ファイルをダブルクリックします。
メインスクリーンに Ruby ファイルの内容がエディタに表示されたと思います。
もしくは、メインスクリーンが ReDScribe になっている場合は、あいまい検索でファイルを開くことができます。
Ctrl-o
(macOS の場合は Command-o
) を押下してみましょう。
Ruby ファイルを保存する
ファイルは、Ctrl-s
(macOS の場合は Command-s
) で保存できます。
エディタで、Ruby ファイルを以下のように編集して保存してみましょう。
def greeting
Godot.emit_signal :greeting, "Hello from Ruby"
end
GDScript から Ruby ファイルを実行する
シーンを作成して、以下のように GDScript ファイルをアタッチします。
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
を選択します。
選択した後に、シーンを実行してみましょう。
以下のように出力パネルに出力されたと思います。
[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 を使ってみましょう。