TRLE Level BOX
This Site is an unofficial site by NGLE fan.

NGLE講座

■タイマートリガ

タイマーのトリガ

NGLEには、タイマーがいくつかあります。
大別すると、以下のようになります。

  • Timerフィールドを使ったタイマー
  • TIMER_FIELDを使ったタイマー
  • Timerスクリプトコマンドを使ったスクリーンタイマー
  • ACTIONトリガを使ったスクリーンタイマー
  • FLIPEFFECTトリガを使ったスクリーンタイマー

Timerフィールドを使ったタイマー

TRLEにもあったTimerフィールドを使ったタイマー。
ngle0446_01.jpg

機能概要

  • 正の値を入力すると、指定した秒数後に無効化される。
  • 負の値を入力すると、指定した秒数後に有効化される。
  • タイマーはトリガの設置場所を離れてから発動。
  • 画面に秒数は表示されない。

TIMER_FIELDを使ったタイマー

NGLEから追加されたタイマー。TIMER_FIELDトリガとでも呼べばいいでしょうか。
ngle0446_02.jpg

機能概要

  • トリガの重複ルールによって、一つのスクエアにトリガを重ねることができない場合に重宝。
  • タイマーはトリガが有効になった時点から発動。
  • 画面に秒数は表示されない。

Timerスクリプトコマンドを使ったスクリーンタイマー

TRLEにもあったTimerスクリプトコマンドを使ったスクリーンタイマー。
TRLEではTimerスクリプトコマンドとは別にVON_CROYオブジェクトが必要でしたが、NGLEではTimerコマンドのみで実現出来ます。
↓こんな感じ。
ngle0446_03.jpg

機能概要

  • FLIPEFFECTトリガの86番でタイマーが起動/停止。
  • タイマーはトリガが有効になった時点から発動。
  • 画面に秒数が表示されるが、カウントアップのみ。
  • CONDITIONトリガの20番で条件を指定可能。

ACTIONトリガを使ったスクリーンタイマー

NGLEから追加されたタイマー。Enemyスクリーンタイマーと呼ばれることもあります。ACTIONトリガの説明にはEnemyと書かれていますが、敵以外のMoveableでも機能します。
↓こんな感じ。
ngle0446_04.jpg

機能概要

  • Timerコマンドは不要。
  • ACTIONトリガの52番でタイマーが起動。
  • タイマーはトリガが有効になった時点から発動。
  • 画面に秒数が表示されるが、カウントダウンのみ。
  • TIMER_FIELDトリガやOrganizerスクリプトコマンドで条件を指定。CONDITIONトリガの20番は機能しない。

FLIPEFFECTトリガを使ったスクリーンタイマー

NGLEから追加されたタイマー。FLIPEFFECTトリガを使います。
↓こんな感じ。
ngle0446_05.jpg

機能概要

  • Timerコマンドは不要。
  • F269番(FはFLIPEFFECTトリガの略。)でタイマー表示。
  • F266番でタイマーの初期値を設定。
  • F264番でタイマー起動。
  • F265番でタイマー終了。
  • F270番でタイマー非表示。
  • タイマーはトリガが有効になった時点から発動。
  • 画面に秒数が表示され、カウントアップ/ダウンの両方が使用可能。
  • 変数で条件を指定。CONDITIONトリガの20番は機能しない。

FLIPEFFECTトリガを使ったスクリーンタイマーの例

NGLEヘルプのvariables_trng.htmを参考に設定方法を説明します。

タイマー設置

  1. F266番でタイマーの初期値を設定。
  2. F264番でタイマー起動。
    ここで使用する変数とカウントアップ/ダウンの指定を行う。
    今回はGlobal Timer変数を使用したカウントダウンタイマーとする。
  3. F269番でタイマー表示。

制限時間オーバーでタイマーを隠す。

  1. 2秒後にタイマーを消すF270番をTriggerGroup1番として作成。
    TriggerGroup=1, $2000, 270, $201
  2. 以下のGlobalTrigger1番を使ってタイマーをチェックし、制限時間をオーバーしたらTriggerGroup1番を呼び、タイマーを消す。
    GlobalTrigger=1, IGNORE, GT_TRNG_G_TIMER_EQUALS, 0, IGNORE, 1

指定した制限時間内でトリガを有効化。

  1. F271番で現在のタイマーの値をCurrent Valueにコピー。
  2. タイマーはティックフレーム単位で働くため、F253番でCurrent Valueを30で割る。
  3. C46番でCurrent Valueが1以上という条件を判定。
  4. A43番で目的のオブジェクトのトリガを有効化。
  5. F232番でCurrent Valueをゼロクリア。
    ここでゼロクリアするのは、他の処理に影響を及ぼさないため。
  6. 以上の処理をTriggerGroup2番として作成。
  7. F118番をマップに配置し、TriggerGroup2番を呼ぶ。

これで制限時間内にF118番のトリガを有効化出来れば、目的のトリガが有効になり、制限時間をオーバーするとタイマーは非表示になります。
Script.txtの[Option]セクションに以下の2行を追加すると、変数の値が確認できるため利用するとよいでしょう。

Diagnostic=ENABLED
DiagnosticType=DGX_COMMON_VARIABLES,IGNORE