Hako.png(402 byte) ユーザー定義イベント開始条件をつかってみよう!

「イベント開始条件」には、あらかじめキー操作によるものやあたり判定によるものなどが定義されて
いますね。

一方、イベント開始条件はユーザーの皆さんが作成することもできます。
これを「ユーザー定義イベント開始条件」といいます。
ユーザー定義イベント開始条件は、イベントコマンド
他配置オブジェクトイベント開始条件を呼び出す」を用いて呼び出すことによって利用します。

それでは、具体的にどのように、どんな時に利用すればいいかをみてみましょう。


もくじ

  1. どんな時に使う機能なの?
  2. ユーザー定義イベント開始条件のつくりかた
  3. ユーザー定義イベント開始条件の呼び出しかた


どんなときにつかう機能なの?

ユーザー定義イベント開始条件を、どのような時に利用するといいか、具体例を挙げてみました。
この機能の特徴も説明しています。

例1:同じような処理を使いまわす

画像1:同じような処理を使いまわすイメージ

(クリックで拡大)

たとえば、キーボードのキーが押されとき、もしくはあたり判定時にプレイヤーを点滅させたいとします。
点滅させるには、繰り返し処理をつかったり、透明度を変更したり、イベントを待機したりと、いろいろな
イベントコマンドをつかいます。

このとき、キー押下時に呼び出されるイベント開始条件と、あたり判定時に呼び出される
イベント開始条件の両方に、同じイベントを作成するのは面倒です。

そこで、上図のようにユーザー定義イベント開始条件内に点滅処理を記述しておき、必要に応じて
処理を呼び出すようにすれば、いちいち同じ処理を何度も書かずに済みます。
しかも、たとえば点滅具合を変えたいといったときに、ユーザー定義イベント開始条件1か所を変更
すればいいので、イベントの設計が楽になります。

このように、同じような処理を使いまわす際にはユーザー定義イベント開始条件を呼び出すように
設計することがおすすめです。

ほぼ同じ処理だけど、1つのユーザーイベント開始条件で定義したいとき
たとえば、「キー押下時は遅めに点滅したいけど、あたり判定時はすばやく点滅させたい」とします。
このように、処理内容がほとんど同じのときには、わざわざユーザーイベント開始条件を2つ
作成しなくても済む場合があります。

画像2:イベントの引数機能

(クリックで拡大)

ユーザー定義イベント開始条件には、「イベントの引数機能」があります。
イベントデータベース内「イベントデータ」フォルダ直下にあるデータアイテムは、
他配置オブジェクトイベント開始条件を呼び出す」が使用された時、上図のように
イベントパラメータとして公開されます。
(ただし、イベントデータフォルダ内にあるフォルダの中のデータアイテムは公開されません。)

パラメータに設定された値は、イベント開始条件呼び出し時に、対応するデータアイテムに
代入されます。

これを利用すると、たとえば
「キー押下時は100ミリ秒間隔で、あたり判定時は300ミリ秒間隔で点滅させたい」
といったようなイベント制御を、イベントデータベース内のデータアイテムを書き換えることで
行うことができます。


例2:並列処理をさせたいときにつかう

画像3:並列実行イメージ

(クリックで拡大)
たとえば「いずれかのキーが押されたとき」イベント開始条件をつかって、キーが押されたら
プレイヤー配置オブジェクトを点滅させるイベントコマンドを考えます。

ここで、点滅させるときに「指定時間イベントを待機する」イベントコマンドを用いるとします。
「指定時間イベントを待機する」イベントコマンドを用いると、待機した時間だけイベント開始条件内の
イベントが終了する時間が遅くなりますね。

通常、イベント開始条件は、そのイベント開始条件内のイベントが終了しないと新たに
呼び出されません。
今回の場合は、「いずれかのキーが押されたとき」イベント開始条件が終了しないと、新たに
「いずれかのキーが押されたとき」イベント開始条件が呼び出されないということです。

注意
その間、自身の「いずれかのキーが押されたとき」以外のイベント開始条件や、
ほかの配置オブジェクトの「いずれかのキーが押されたとき」イベント開始条件は
呼び出されます。



このため、イベント待機によって、キーボードのキー押下が検知できないときが発生して
しまいます。
そこで、ユーザー定義イベント開始条件をつかって、並列実行をします。
上図の例をみると、キーボードのキーが押されたらユーザー定義イベント開始条件を呼び出し、
その中に記載されているイベントでプレイヤーを点滅させています。

このようにすることで、「いずれかのキーが押されたとき」イベント開始条件のイベントを止める
ことなく、オブジェクトを点滅させることができます。

ワンポイント
2つ(またはそれ以上)のイベントを同時に実行することから、このような実行方法を
「並列実行」といいます。


ユーザー定義イベント開始条件のつくりかた


画像4:ユーザー定義イベント開始条件のつくりかた

(クリックで拡大)

ユーザー定義イベント開始条件は、上図に示す「イベント開始条件新規作成ボタン」を押し、
名称を設定するだけで完了します。

作成したイベント開始条件を削除したいときは「削除ボタン」を、名称を変更したいときは
「名称編集ボタン」を押します。


ユーザー定義イベント開始条件の呼び出しかた

ユーザー定義イベント開始条件を呼び出すには、イベントコマンド
他配置オブジェクトイベント開始条件を呼び出す」を使用します。
(ヘルプ内「他配置オブジェクトイベント開始条件を呼び出す」の項目も参照してください。)

画像5:他配置オブジェクトイベント開始条件を呼び出す

(クリックで拡大)

編集はおおむね以下の手順で行います。
  1. イベントコマンド「他配置オブジェクトイベント開始条件を呼び出す」を配置します
  2. 上図A部分のようにイベントコマンドを選択し、B部分に示す「呼び出す開始条件」
    パラメータを選択した後、C部分の「設定する」ボタンを押します。
  3. D部分から、実行先の配置オブジェクトを設定します。
    呼び出し先として「自身を設定する」を選んだ場合、このイベントコマンドが実行される
    配置オブジェクトのイベント開始条件を起動することになります。
  4. E部分で実行したいユーザー定義イベント開始条件を設定します。
  5. OKボタンをクリックして、ダイアログを閉じます。
  6. 読み込むイベント開始条件のイベントデータベース内の「イベントデータ」フォルダ直下に
    データアイテムが存在した場合は、このイベントコマンドのパラメータが増えていることを
    確認してください。
    イベントの引数機能によって、データアイテムの値をパラメータとして設定できるように
    なっています。

これで、ユーザー定義イベント開始条件を呼び出すことができるようになります。

この機能をうまく使えば、コンパクトで見やすいイベントコマンドを組むことができるように
なります。
ぜひ、ご活用ください!!




←もくじへもどる