タイマーの操作 / ツクールMVスクリプトリファレンスwiki
ツクールMVでタイマーの操作をスクリプトで行うなら以下の通りです。
//タイマーをスタート
$gameTimer.start(フレーム数(1/60秒))
//タイマーをストップ
$gameTimer.stop()
サンプルコード(タイマーを20秒で設定)
//タイマーをスタート
$gameTimer.start(1200))
//タイマーをストップ
$gameTimer.stop()
コード解説
フレーム数での設定になるので60で1秒になります。
600で10秒です。
10分50秒を設定したいときは秒に直すと、650秒となるので、これに60をかけて39000となります。
計算が面倒なので650*60と書いて代入した方が楽かもしれませんね。
また、タイマーの秒数に応じてイベントを発生させたいときなどはif文を使って判定します。
この時、タイマーが動いているか判定するisWorkingメソッド、秒数を取得するsecondsメソッドを使用すると良いでしょう。
サンプルコード(タイマーが起動してない時は「タイマーが起動してないよ。」、タイマーが起動して0秒でなければ「まだまだ!」、0秒になった時に「タイムアップ」を表示)
var timerIsWorking = $gameTimer.isWorking() //タイマーが動いているか判定
var sec = $gameTimer.seconds() //秒数を取得、secという変数に代入
if(timerIsWorking){
(sec <= 0) ? $gameMessage.add("タイムアップ") : $gameMessage.add("まだまだ!")
} else {
$gameMessage.add("タイマーが起動してないよ。")
}
上記のコードには条件分岐を省略した形の三項演算子を使っています。
条件 ? trueの場合 : falseの場合
タイマーに関しては動かしたり停止させたりするのは簡単ですが、判断の仕方が難しいかもしれません。
イベントによっては並列処理をさせたりしなければならないので、ゲーム処理に関わってくることもあります。
ツクールMVスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。