>グローバル変数とグローバルオブジェクトの変数は(グローバルオブジェクトがすべてのフレームに存在している場合)同じものと思って大丈夫でしょうか?
CF2.5において『グローバル』とは『フレームを跨いで内容が維持される』という意味です。従って、グローバル変数もグローバルオブジェクトの変数も基本的には同じです。
但し、グローバルオブジェクトの場合は、オブジェクトを破壊したり、プロパティの『開始時に作成』が外れていて、次のフレーム開始時にそのオブジェクトが存在しない、という場合には内容は引き継がれません。
>イベントで「プレーヤーが次の操作をした時:〇〇(ボタンや方向)を押す」の文字が順序によって赤色になったり緑色になったりしますが、文字の色が変わることに何か意味があるのでしょうか?
イベントの条件には『通常条件』と『即時条件』の2種類があります。先頭に設定した時に緑色になる条件が『即時条件』で、それ以外が『通常条件』です。
『即時条件』はイベントエディタ内での記述順に関係なく優先的に実行されます。例えば『フレームが開始』という条件のイベントがあれば、まずそのイベントが優先的に実行されます。
即時条件は『イベントが発生した時のみ実行』されます。例えば『ボタンを押した時』や『オブジェクトが衝突した時』などは条件を満たしたその時1回のみ実行されます(なので『押している間中』や『重なっている時』という条件が別に存在しています)。
また、『通常条件』は1イベントサイクル(1/60フレーム)中に1回しか実行されませんが、『即時条件』は同時に複数発生した場合は1サイクル中に複数回実行されます。
ヘルプの『イベントを理解する』→『条件を理解する』にも説明がありますので合わせてご覧ください。
– サンプルプログラム
https://blog.clickteam.jp/wp-content/uploads/2017/08/cf25_blog_2017-08-12_immediate_condition.zip
ちなみに、当ブログで過去に解説いたしました『高速ループ』と『ForEachループ』も即時条件の1種です。
高速ループ、ForEachループについて