GDevelop の「イベント」を正しく理解しよう

特にプログラミング経験者がおちいりやすい罠なのですが、GDevelop の「イベント」は「if文」ではありません。

確かに if 文と同じ面もありますが、イベントの主な役割は対象のオブジェクト(インスタンス)を絞り込む事にあります。

例えば、以下の画像のようなシーンの場合、

以下のようなイベントを設定することで、ミサイルが当たっている戦車のみ削除することができます。

これは、イベントの条件で「ミサイルに衝突している戦車」のみにインスタンスが絞られたため、そのイベントのアクションで戦車を削除すると、ミサイルに衝突している戦車だけが削除されるという仕組みです。

では、「戦車のどれか1台にでもミサイルが当たったら、3台全て消す」には、どうしたら良いかというと、

上の画像のように「すべてのインスタンスを選択する」アクションを、削除するアクションより先に追加することで、戦車すべてがアクションの対象となり、3台全てを削除することができます。

このあたりが理解できると、「なんで else がないの?🙁」という不満にも、多少は納得できるのではないでしょうか😅

コメント

このブログの人気の投稿

v5.0.0-beta104 がリリースされました。

タイルスプライトで作る流れる背景