GameMaker 日本語掲示板

GameMakerのイベントの実行順序

0 コメント
views

① 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
asa
作成: 2026/09/12 (土) 11:13:58
通報 ...