Godotチュートリアル:https://docs.godotengine.org/ja/4.x/getting_started/first_2d_game/index.html
上記のチュートリアルで敵が出なくて詰まった際の解決方法を記載する。
発生した問題
メインシーンまで作成し、テストしてみたところ敵が発生しない。エラーも発生しておらず、最初からチュートリアルをやり直しても同じところで詰まってしまった。1つのタイマーのタイムアウトを起点とし敵モブインスタンスを作成するというものだったが、Breakを入れてもどうやら処理は一度も実行されていないようだった。
解決方法
当たり前のことだが、Timerのシグナルをconnectしないといけないのだが、こちらのチュートリアルにはその記述はない。初学者の私はそちらを完全に失念してしまい躓いていたのだ。いい勉強になりました。
しかし、チュートリアルは記述するコードや、設定値がきちんと記されている中、この点だけ無記述なのは、チュートリアルとしてはどうなのだろうか。同じ問題で躓く私のような初学者のために、解決方法を記載しておく。
解決方法
func _ready():
var mob_timer = $MobTimer
mob_timer.timeout.connect(_on_mob_timer_timeout)
var start_timer = $StartTimer
start_timer.timeout.connect(_on_start_timer_timeout)
var score_timer = $MobTimer
score_timer.timeout.connect(_on_score_timer_timeout)
new_game()
_ready()の処理にそれぞれのタイマーのタイムアウトシグナルを接続する処理を追記。これで解決しました。