【プラグイン】イベントのアクションを拡張

ツミオ2017-06-02に開始した「ツクールMV」の中の討論

  1. ツミオ

    ツミオ ユーザー

    プラグイン名:ExpandEventsAction
    概要:イベントのアクションを拡張するプラグインです。
    最新版:バージョン1.1.1(2017/6/04 公開)

    紹介動画
    投げアクションとクルクルアクション

    射出アクション

    暗闇でライトアップ

    image_20170603_191454.png image_20170603_191526.png
    ジャンプアクション


    【プラグインの特徴】
    ・イベントを拾って投げることができるようになります。
    ・イベントをクルクル回すことができるようになります。
    ・イベントを射出することができるようになります。
    ・画面を暗くし、指定したイベントだけライトアップできるようになります。
    ・プレイヤーがジャンプできるようになります
    投げアクションは、拾ったアイテムをどこかに置いてスイッチをONにしたりできるかなあと思います。
    クルクルアクションは、回転バリアや主人公の周りを回る補助キャラとかに使えるかもしれません。

    僕も何に使えるのか知りたいので、「こんなことに使ったよ!」というのがあれば教えていただけると嬉しいです。

    【プラグインの使用方法】

    ------イベントの回転------

    【プラグインコマンド】
    Rotate_EEA stop x
    #イベント番号xで起こした回転を止める
    Rotate_EEA start x #イベント番号xで設定した回転を起こす

    【概要】
    イベントのメモ欄を使用してイベントを回転させます。
    必ずしも回転に関係のあるイベントのメモ欄を使用する必要はありません
    任意のイベントのメモ欄を使用することが可能です。

    【使用方法】
    イベントのメモ欄に以下のような記述をします。
    <rotate>最初の回転位置/回すイベントID/回転の中心となるイベントID/速さ/回転の大きさ/逆回転か/タイプ</rotate>
    例:
    <rotate>120/4/1/10/2/true/true_circle</rotate>
    意味:最初の回転位置120度、4番のイベントを1番のイベントを中心として回し、速さは10、回転の大きさは2、通常の回転方法で、真円を描く
    これでマップに入ったとき、イベント4は自動で回転を始めます。

    【回転の設定方法】
    最初の回転位置:最初の回転位置を0~360で指定します。
    回すイベントID回したいイベントIDを指定してください。
    回転の中心となるイベントID回転の中心となるイベントIDを指定してください。
     *プレイヤーを指定したい場合は-1。
    速さ0~xで指定してください。浮動小数点数も使えます。
    回転の大きさ0~xで指定してください。1=1マスで、浮動小数点数も使えます。
    逆回転か通常の回転方法ならtrue、逆回転ならfalseを指定してください。
    タイプtrue_circle(真円)、ellipse_1(縦に長い楕円)、ellipse_2(横に長い楕円)

    ------投げアクション------
    投げアクションの設定はプラグインパラーメーターでおこないます。
    また、イベントのメモ欄に
    <trans></trans>
    と書くと、そのイベントを拾って投げられるようになります。
    投げられる場所はリージョン番号で指定します(デフォルト値:1)。
    投げる先にすでにイベントが設置してある場合は投げられません。
     注*投げたあとのイベントの位置は記憶しません。
      つまり、マップを移動したあとはイベントの位置がもとに戻ります。
      投げたあとのイベントの位置を記憶したい場合、何らかの方法でイベントの位置を記憶する必要があります。
     注*投げる前のイベントは座標(-20,-20)に移動させています。
      投げる前にイベントの位置を記憶し、マップのリロードをした場合、
      そのイベントは座標(-20,-20)に保存されるのでご注意ください。

    ------イベントの射出------

    【プラグインコマンド】
    Particle_EEA stop x
    #イベント番号xで起こした射出を止める
    Particle_EEA start x #イベント番号xで設定した射出を起こす

    【概要】
    イベントのメモ欄を使用してイベントを射出させます。
    必ずしも回転に関係のあるイベントのメモ欄を使用する必要はありません。
    任意のイベントのメモ欄を使用することが可能です。
    また、射出されたイベントは画面端で反転します。

    【使用方法】
    イベントのメモ欄に以下のような記述をします。
    <particle>射出したいイベント番号/X方向のスピード/Y方向のスピード</particle>
    例:
    <particle>13/0.2/-0.2</particle>
    意味:13番のイベントをX方向に0.2、Y方向に-0.2のスピードで射出。
    これでマップに入ったとき、イベント13は自動で射出されます。
    注*スピードにマイナスの値を設定した場合、射出される最初の方向が反対になります。

    ------マップを暗くし、イベントを照らす------
    【プラグインコマンド】
    Dark_EEA stop #マップを明るくする
    Dark_EEA start #マップを暗くする

    【概要】
    イベントのメモ欄を使用して、マップを暗くし、イベントを照らします。
    必ずしも照らしたいイベントのメモ欄を使用する必要はありません。
    任意のイベントのメモ欄を使用することが可能です。

    【使用方法】
    イベントのメモ欄に以下のような記述をします。
    <dark>明るさ/照らしたいイベント1/照らしたいイベント2/照らしたいイベント3/...</dark>
    例:
    <dark>0.1/-1/3/4/5/</dark>
    意味:明るさ0.1で照らし、プレイヤーとイベント3~4番を照らす。
    *プレイヤーを指定したい場合は-1を指定。
    *明るさは0に近いほど暗くなります。0.1~1推奨。
     *照らしたいイベントはいくつでも指定可能ですが、最初は必ず「明るさ」を指定する必要があります。


    設定したマップ内でプラグインコマンド「Dark_EEA start」を実行すると
    マップが暗くなり、指定したイベントが照らし出されます。

    【注意】
    現在のマップの明るさはセーブデータに保存されますが、マップごとの明るさを記憶しているわけではありません

    ------ジャンプアクション------
    ジャンプアクションの設定はプラグインパラーメーターでおこないます。
    設定したリージョンがプレイヤーの前方にある場合
    もしくは
    設定したリージョンの上にプレイヤーが乗っている場合
    決定キーを押すとジャンプアクションをおこないます。

    プラグインのパラメーター
    • イベントを拾うときのSE:イベントを拾うときのSEを設定します。(デフォルト値:Jump1)
    • イベントを投げるときのSE:イベントを投げるときのSEを設定します。(デフォルト値:Earth3)
    • イベントを投げられないときのSE:イベントを投げられないときのSEを設定します。(デフォルト値:Buzzer1)
    • イベントを投げられるリージョン番号:イベントを投げられるリージョン番号を設定します。(デフォルト値:1)
    • ジャンプするときのSE:ジャンプするときのSEを設定します。(デフォルト値:Jump1)
    • 乗っているときジャンプ可能なリージョン番号:乗っているときジャンプ可能なリージョン番号を設定します。(デフォルト値:2)
    • 前方にあるときジャンプ可能なリージョン番号:前方にあるときジャンプ可能なリージョン番号を設定します。(デフォルト値:3)
    【Q&A】
    Q.イベントを投げたあと、マップをリロードすると元に戻った
    A.
    仕様です。
    投げたあとのイベントの位置を記憶したい場合、何らかの方法でイベントの位置を記憶する必要があります。
    また、投げる前のイベントは座標(-20,-20)に移動させています。
    投げる前にイベントの位置を記憶し、マップのリロードをした場合、そのイベントは座標(-20,-20)に保存されるのでご注意ください。
    注*イベントの位置を保存できるようなプラグインコマンドを作りたいとは思っています。
    ですが実装にはしばらくの時間が必要そうです。
    イベントの位置を保存するプラグインは既にあるようなので、お急ぎの方はそちらの利用をオススメします。

    Q.ジャンプアクションってイベント関係なくない?
    A.
    関係ないです。
    最初は「イベントが指定したリージョンに乗ると自動でジャンプ」機能をつけようと思ったのですが、全体的な動作が重たくなるのと、そもそもイベントをジャンプさせたいなら移動ルートの設定でした方がよいのでは? と思ったのでこうなりました。
    ジャンプ機能は僕が個人的に使うので、まとめちゃった形になります。

    【ライセンス(MITライセンス)】
    • 製作者: ツミオ
    • 非商用利用: 自由
    • 商用利用: 自由
    • 再配布: OK
    • 加工: OK
    • 加工後の再配布: OK
    • シリーズ: ツクールMV(他の用途で使用しても問題ありません)
    バージョン情報
    • 1.1.1 2017/6/04 「ジャンプ」機能を追加
    • 1.1.0 2017/6/03 「イベントの射出」と「マップを暗くし、イベントを照らす」機能を追加
    • 1.0.0 2017/6/02 公開

    追加する予定の機能
    何か思いつき次第、実装できそうなら追加します。

    注意
    制作者はJavaScriptの勉強をし始めて二ヶ月そこそこの素人です。
    致命的なバグが混入している可能性も高いので、使用は自己責任でお願いいたします。
    また、PC環境以外でのテストはおこなっていません。
    今後の参考にしたいので、ブラウザやスマホで正常に動かない等があれば報告していただければなと思います。
     

    添付ファイル:

    最後に編集: 2017-06-04
    #1
    HiYOCAY, 印度一好色, ブッチ他2人がいいね!しています
  2. ツミオ

    ツミオ ユーザー

    バージョン1.1.0に更新しました。
    色々と機能が追加されましたが、ファイルサイズが大幅に増えたのと、使わない機能があるかもしれません。
    もし追加された機能が「これ別にいらないなー」というものばかりでしたら、バージョンアップの必要はありません(前回のものは完全にそのままでかつ、バグ修正等も特にありません)。


    途中まで作ってみたものの、汎用性があまりないので開発を途中で止めたものも紹介しておきます。

    なんかウニャウニャ動くやつ。
    image_20170603_111430.png

    マスク機能みたいな感じのやつ
    image_20170603_133351.png

    シャボン玉みたいなやつ
     
    最後に編集: 2017-06-03
    #2
    にいやん, エフ☆, 神無月サスケ他1人 がいいね!しています
  3. にいやん

    にいやん ユーザー

    こんにちは、はじめまして。
    射出アクションについてお聞きしたいのですが、結論から言いますと壁に当たって跳ね返る敵(斜め)の動きを表現したいのです。
    壁を認識して跳ね返る動作は可能でしょうか?
    それとこのプラグインは射出なので名前の通り決められたIDから射出が出来ますがこれを"0"を入力したときにこのイベントの位置を起点にして射出することは可能でしょうか?
    想定としてはSFCゼルダの伝説の火の玉をつけて斜めに動くドクロのようなものです。

    追記:"0"という形で処理させたい理由としましてはトリアコンタンさんのテンプレートイベントを使っているのでマップによってIDが変わってしまうためです。
     
    最後に編集: 2017-08-01
    #3
    神無月サスケ がいいね!しました
  4. ツミオ

    ツミオ ユーザー

    にいやんさん、こんにちは。
    プラグインのご利用ありがとうございます。

    1.壁を認識して跳ね返る動作は可能か
     →壁などを認識する当たり判定の処理は入っていませんので、不可です。
      ひょっとすると、Moghunterさんが最近公開したプラグイン(Chrono Engine)なら可能かもしれません(未確認です)。

    2.イベントのIDを0にした場合に、設定したイベントを射出させたい
     →かなり雑ですが、改造してみました。ただイベント番号0にすると何かと問題が発生するような気がしたので、イベント番号の設定を-100にしたとき、そのような動作をするようにしました。
     

    添付ファイル:

    #4
  5. にいやん

    にいやん ユーザー

    対応ありがとうございました。有難く使わせていただきます。
     
    #5
    ツクール開発部, ツミオ神無月サスケ がいいね!しています

このページを共有