フワフワソが「ソラとピヨちゃん」や「宮本県」を作るブログ(フワフワソ・ラウンジnew!)

ラノベとテクノを愛するふわふわがノベルゲームを作っています。あと日常のことやイベントの告知なども。スクリプト関連の記事は自分用の備忘録です

wait_cancelは重要

[wait_cancel] ウェイトをキャンセルする

  • システム操作

[wait]タグで待ち状態のスタックが存在する場合、キャンセルできます。
これは[wait]中にボタンクリックなどでジャンプした先でキャンセルするような使い方をします。

 クイズゲームのようにタイマーでカウントダウンして、ボタンクリックでジャンプするルーチンを作ってたのですが、思わぬトラブル発生。

ジャンプした先で勝手にテキストが文字送りされてしまいます。

ジャンプ先のクリック待ち[p]が働かずに、テキストが一行進んでしまう模様。

原因を散々調べた結果

[wait_cancel]をしていないためにそうなってると言うことが分かりました。

どういう理屈で勝手に文字送りされるのかはわかりません。

しかし、[wait_cancel]を入れたらぴたっと治りました。

ひょっとしたら、[wait]でゲームを停止しているスタック的なものが、[p]や[l]によるゲーム停止のスタックと共用なのかもしれません。それで[wait]中にジャンプすると、[wait]による設定時間後に停止が解除されることになり、[p]や[l]の停止も解除されてしまうのかもしれません。

[wait]中にボタンを押す仕組みを作ったら、必ずジャンプ先で[wait_cancel]を入れること!

超重要。