SideviewBattle    

        


・はじめに

今回、初めてサイドビュー講座を書いてみようかと思います。

この講座では、このサイトで公開しているサイドビューパッケージキャラクターを使用し
Yanflyさんのサイドビュープラグインを使いアクションをするサイドビューバトルを作る事を目的に
やっていこうかと思います。

ただ、プログラムに関しては、素人なので間違っているところがあるかもしれません。
そもそもある程度、予想や推測で作ってるのでご容赦ください。



・ サイドビューパッケージキャラクターの導入

まずは、RPGツクールMVにて新規プロジェクトを作成します。






以下のファイルを ゲーム>フォルダを開く>img>sv_actors にコピーしてください。


Package_01_Ald
Package_02_Nina
Package_03_Hayatemaru
Package_04_Dilara





ファイルをコピーできたら、アクター設定で [SV] 戦闘キャラ の画像を選択しましょう。
特に関係ありませんが、気になったので、顔と歩行キャラも合わせておきました。
あとは、システム>オプション内の「サイドビューを選択する」 にチェックをいれたら、準備完了です。




戦闘グループから、適当な敵グループを選択し戦闘テストをしてみましょう。




パッケージキャラクターの導入が完了し、戦闘できるようになりました。
RPGツクールMVでは、デフォルトでサイドビュー戦闘が搭載されているので、簡単ですね。





実際に動かしてみたところ、


・魔法モーションがループしない

・モーションの再生速度が遅い

・武器アイコンが出てしまっている。


という点が気になります。



簡単なところから、解決していきましょう。
今回、サイドビューアクターにはすでに、武器が描いてあります。
システム>[SV]攻撃モーションのところで、画像をすべて"なし"に設定してしまいましょう。
つまり私の描いたパッケージキャラクター素材を使った場合、武器画像の変更は出来ません。

これで、武器アイコンの問題は解決しました。





次に、魔法モーションがループしない問題ですが、これはjsを少し書き換える必要があるようです。
私は、プログラムに関して素人なので、ある方に教えて頂きました。
jsフォルダ内にあるrpg_sprites.jsを書き換えます。jsフォルダ内のプラグインを書き換えるので自己責任で行ってください。
私はメモ帳を使って書き換えました。

649行目あたりに

------------------------------------------------------------------------

Sprite_Actor.MOTIONS = {
   walk: { index: 0, loop: true },
   wait: { index: 1, loop: true },
   chant: { index: 2, loop: true },
   guard: { index: 3, loop: true },
   damage: { index: 4, loop: false },
   evade: { index: 5, loop: false },
   thrust:{ index: 6, loop: false },
   swing: { index: 7, loop: false },
   missile: { index: 8, loop: false },
   skill: { index: 9, loop: false },
   spell: { index: 10, loop: false },
   item: { index: 11, loop: false },
   escape: { index: 12, loop: true },
   victory: { index: 13, loop: true },
   dying: { index: 14, loop: true },
   abnormal: { index: 15, loop: true },
   sleep: { index: 16, loop: true },
   dead: { index: 17, loop: true }
};

------------------------------------------------------------------------

という記述があるので、自分の望むように書き換えましょう。
true と false を書き換えるだけです。
私は、skillとspellがループしてほしいのでskillとspellのloop: falseとなっている部分をtrueに書き換えました。




更に、モーション再生速度の部分も書き換えます。
840行目あたりに、

------------------------------------------------------------------------

Sprite_Actor.prototype.motionSpeed = function() {
return 12;
};

------------------------------------------------------------------------

という記述があるので、return 12 の部分を 8 に変更しました。
数字が低いほどスピードが早くなります。全ての動作が同様に早くなるので注意してください。
メモ帳を上書き保存して閉じたあとに、ツクールに戻って
念のため 「プロジェクトの保存」 を行ってから戦闘テストしてみましょう。





これで、問題なく戦闘が動作するようになりました!
次回は、Yanflyサイドビューアクションプラグインについて書いていこうと思います。


inserted by FC2 system