① Roomに入ったとき - インスタンスの作成と初期化
Instance Creation Order の順序で、インスタンスが1つずつ作成される。
┌────────────────────────────────┐
│ インスタンスA │
│ Object Variables Definitionsの│
│ 内容で変数が定義・初期化される │
│ ↓ │
│ Create Event │
│ ↓ │
│ Instance Creation Code │
└────────────────────────────────┘
↓
┌────────────────────────────────┐
│ インスタンスB │
│ Object Variables Definitionsの│
│ 内容で変数が定義・初期化される │
│ ↓ │
│ Create Event │
│ ↓ │
│ Instance Creation Code │
└────────────────────────────────┘
↓
…すべてのインスタンスについて繰り返す
↓
全インスタンスの Game Start Event
↓
Roomの Room Creation Code
↓
全インスタンスの Room Start Event
② 毎ステップ/毎フレーム
イベント種類ごとに全インスタンスを処理してから、次のイベントへ進む。
どのインスタンスから先に処理されるか(インスタンスの実行順序)は保証されない。
全インスタンスの Begin Step Event
↓
Timelines
↓
Time Sources
├─ "Ticks"(Updates)
└─ Callbacks
├─ time_source_global の子
├─ call_later で生成されたTime Source
└─ time_source_game の子
↓
Alarms
↓
全インスタンスの Step Event
↓
すべてのインスタンスを移動
├─ hspeed / vspeed
└─ Path
↓
Collision判定
↓
Collision Event
↓
全インスタンスの End Step Event
マニュアルにはこう記述されている。
まずすべての「Begin Step」イベントが実行され、次にすべての「Step」イベント、その後にすべての「End Step」> イベント、そして「Draw」イベントなどが順に実行されます。
インスタンスA
Begin Step
Step
End Step
↓
インスタンスB
Begin Step
Step
End Step
ではないことに注意。
③ 描画
End Stepが終わった後、Draw系が続く。
全インスタンスの Pre-Draw Event
↓
全インスタンスの Draw Begin Event
↓
全インスタンスの Draw Event
↓
全インスタンスの Draw End Event
↓
全インスタンスの Post-Draw Event
↓
全インスタンスの Draw GUI Begin Event
↓
全インスタンスの Draw GUI Event
↓
全インスタンスの Draw GUI End Event