ユーザー定義関数のバグ?(バグ報告掲示板

投稿: User icon mini namamonodesu 投稿:2010/01/27 17:08:27(最新:2010/01/28 13:42:28)
関数がうまく呼び出されないのですが、バグでしょうか?
ゲームID:3365

◆シーン1:関数を2つ定義し、次のシーンへ変更するのみ
def test_func00()
speak("★(test_func00)")
end
def test_func01()
speak("●(test_func01)")
end
changeScene(4284)

◆シーン2
test_func00()
test_func01()
case speakWithSelect(2,"case 0","case 1", "選択")
when 0
test_func00()
test_func01()  ※この関数が呼ばれない
speak("case 0 end")
when 1
test_func00()
test_func01()  ※この関数が呼ばれない
speak("case 1 end")
end



コメントする

コメントするには、ログインする必要があります。

コメント一覧

User icon mini namamonodesu(投稿日:2010/01/28 13:42, 履歴)
改善を確認しました。
ありがとうございます。

開始スクリプトってそう言う意味もあったんですね。
知りませんでした。ありがとうござます。

言い訳になりますが、ゲームの制作を始めてすぐに開始スクリプトへspeak("Hellow")と記述したんです。今なら分かるんですが、開始マップ(シーン)が登録されていないので当然ゲームは開始されません。エラー表示にもちゃんんとその旨が表示されていますが、当時はそれに気がつかず、開始スクリプトってなんだろう?みたいに考えていました。本当はとても重要な意味があったのですね。
Zararu128x128 mini dycoon(投稿日:2010/01/28 12:32, 履歴)
ご不便をおかけして申し訳ありません。

ユーザー定義関数をcase文などで連続して呼んだ場合
2つめの関数が呼ばれない問題を修正しました。

ちょっと気になったことなのですが、
ユーザー定義関数は開始スクリプトに書いたほうがよいです。
というのも、セーブロードなどをおこなったときに
シーンでの関数宣言がスキップされてしまうということが
起こりうるからです。
単にテスト用ということでこう書いているということでしたら
問題はありません。

よろしくお願いします。
Zararu128x128 mini dycoon(投稿日:2010/01/27 18:34, 履歴)
バグ報告ありがとうございます。

問題を再現することができましたので
修正する方向で考えたいと思います。

よろしくお願いします。