リファレンス URL:alarm_get(index);

「実数型 (Real) 」として戻り値

※ v1.4.1675 以降追加された関数

アラーム配列から値を取得する関数です。関数には引数として配列要素(index)を与えます。

アラーム配列へのアクセスは従来までの書き方が冗長だったため、シンタックスシュガー(糖衣構文)として新しく用意された関数です。

アラームとは

alarm は GM:Studio が標準機能として提供している 1D-Array (一次元配列)のこと。 ただしこの配列はデータ型と処理・手続きがあらかじめ結び付けられているので、データ構造の一種代入した値を勝手に減算していく仕様と、値がゼロになった時にイベントトリガーを発生させる仕様を持つ)とも言える。つまりこの配列は「普通の配列」とは違います。 「Step」数でカウントを測りたい場合などに利用され、いわゆる「タイマー機能(ワンタイムアラーム機能)」を提供する。 配列に値(通常は正の整数)を代入すれば以降 steps 毎、自動的に値は 1 デクリメント( 1 減算)されます。 最終的に値が0となったらタイマー終了で、0になった時のイベントとアクションを作っておけば一定時間経過後に指定したアクションを実行するゲームアルゴリズムを簡単に作成できるという便利機能です。
    GM_Studio_1_4_alarm_set_function_screenshot
GM:S では各オブジェクト・インスタンス毎にアラームは各一個、配列の要素は 12 個で Built-In として用意されています。
    alarm[0 ... 11]
例えばルームスピードが 30 の場合、
    alarm[0]=room_speed;
もしくは
    alarm_set(0,room_speed);
この様に書けば、このアラームは値の設定後に約一秒でタイマーが終了するよう時間設定されたということになります。使い方としては目覚まし時計というより、もっと短い時間で呼び出す目的で利用される「キッチンタイマー」に類似します。 GM:Studio の オブジェクト・インスタンス (an instance) はインスタンスごとに 12 個のキッチンタイマーを持っているってことです。 alarm_get 関数で戻り値に -1 が返って来た場合、アラームはすでに動作を終了しているという意味に成ります。 スクリプト・サンプル
/* 配列の全要素をチェック、値が0より大きい時に-1を代入しアラームをリセット */ for (var i = 0; i < 12; i++) { if (alarm_get(i) > 0) { alarm_set(i, -1); }; };
Functions/alarm_get

Leave a Reply

Your email address will not be published. Required fields are marked *