【サイトについて】
* RPGツクールMVを使った、ゲームを一層楽しくするためのアイディアや、豆知識、プラグインなどを紹介していきます。あくまで個人の考えに基づく記事ですので、参考程度にお読みいただければ幸いです。
<< プラグイン「MOG_BattleHud」を使う際の小ネタ | main | 私的・邪道バトルの作り方 >>
スポンサーサイト
0

    一定期間更新がないため広告を表示しています

    | - | |- |
    分かりやすい戦闘づくり
    0

      サイドビューバトルで敵が複数居る場合、「今どいつが攻撃してきたの!?」かが分かりにくい事があります。

      これは敵の行動時にピカッと光る演出が速い&薄いからだと思います。

       

      行動時に敵が一歩前に動くプラグインはありますが、個人的には敵はその場から動かない方が好きなので、今回は「光る演出」を分かりやすくする方法をとりたいと思います。私がサイドビュー作りのお手本にしているFF6では、敵の行動時に濃いフラッシュが二回ピカピカッと光るので、とても分かりやすいです。

       

       

      ではどこを変えればこのエフェクトを変更出来るのか。

      「敵の行動時の光る演出」について、ツクールデフォルトのソース(v1.3.1)ではこの様になっていました。

       

      rpg_objects.js 4395行目

      Game_Enemy.prototype.performActionStart = function(action) {
          Game_Battler.prototype.performActionStart.call(this, action);
          this.requestEffect('whiten');
      };

       

      敵行動開始時に「whitenしろ」って感じですね。

      whitenとは何ぞやというと「グラフィックの色調を白くしろ」という命令です。

       

      rpg_sprites.js 1057行目

      Sprite_Enemy.prototype.startWhiten = function() {
          this._effectDuration = 16;
      };

       

      16フレーム分の時間で敵を白くしています。

      この値を少し大きくしてやる事で、行動開始時の敵のフラッシュが緩やかになり、

      「あ、こいつが攻撃して来たんだな」という事が分かりやすくなります。

       

      大きくし過ぎると↓次の敵行動開始時にも白いままなので、24〜32ぐらいが最適値ではないでしょうか。

       

       

      敵の行動時は白じゃなく黒にしたいんだという場合は、

       

      rpg_sprites.js 1124行目

      Sprite_Enemy.prototype.updateWhiten = function() {
          var alpha = 128 - (16 - this._effectDuration) * 10;
          this.setBlendColor([255, 255, 255, alpha]);
      };

       

      このsetBlendColorの255の数値をいじってみてください。

      0,0,0にすれば黒く光ります。

       

      FF6の様に「敵の行動時に敵を点滅させたい!」という場合は、

      こんな感じで書いてやると、チカチカッ!バシッ!って感じになります。

       

      rpg_sprites.js 1057行目

      Sprite_Enemy.prototype.startWhiten = function() {
          this._effectDuration = 20;
      };

       

      同じくrpg_sprites.js 1124行目

      Sprite_Enemy.prototype.updateWhiten = function() {
          var alpha = 128 - (16 - this._effectDuration) * 10;
          this.setBlendColor([255, 255, 255, alpha]);
          this.opacity = (this._effectDuration % 10 < 5) ? 255 : 0;
      };

       

      敵にダメージを与えた時の点滅と同じものを、行動開始時演出に加えたものです。

      いかがでしょうか。結構分かりやすくなったと思います。

       

      | 戦闘 | 11:07 |- |
      スポンサーサイト
      0
        | - | 11:07 |- |
        PR