「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ バトルレイアウト変更のサイドビューでの敵の配置

アクセス解析を見てみたら「永遠の夢に向かって サイドビュー 敵の配置 解説」
なんてあったので、ブログのネタにちょっとやってみたり。


バトルレイアウト変更はフロントビュー・サイドビュー両方に対応した戦闘レイアウト変更システムで
目立った機能が「表情変化」「ビュー変更」「武器振り」「スキル発動エフェクト」
なんだけど、サイドビューでは自動的にフロントビューの配置をせずに独自にスクリプトで
配置を決めています。


記述場所は「バトルレイアウト変更:base」の「Game_Troopクラス」の「enemy_set_screen」メソッドです。
これをフロントビューなら元の処理、サイドビューなら独自の配置処理を行ってます。


じゃぁ、どーやってやってるんだ?って話になるんだけど・・・
敵の座標は「screen_x」「screen_y」とかいうメソッドで「Game_Enemyクラス」にあります。
これはちょっとハメ技があって「Y座標は足下」っていうカラクリがあり
敵の上に敵を配置したい場合などは「画像の大きさ」を取得しないとダメなんです。
でも、その辺りは「$data_enemies」から引っ張ってきて、Game_Enemyクラスからbattler_name battler_hue
とかあるので、敵の画像を「Cache.battler」でローカル変数にでも入れる。
そっからは幅や高さを出すのは簡単。

これで無事に敵の座標と敵の大きさを取得できた訳なんだけど
今度は画面に敵を表示する「敵の領域」と「敵の出現数」を使って配置を決める。
この辺りは「センスで」としか言い様がない。

敵が純正では最大「8体」まで出現するので、敵が1体の時・・・3体の時・・・
敵の大きさがでかい場合・・・小さい場合・・・など条件分岐して座標を決める。
その際に座標を決定したら、その敵の「大きさ」をインスタンス変数に配列で保存しとく。
すると、次の敵の座標計算で前回の敵の大きさから次の位置を決められるので
敵の影に隠れて見えない敵が存在するなんて現象も回避できる。

ググって来ているってことはスクリプトは読めるという前提で話をしたけど
バトルレイアウト変更は「バックアタック」と称して「不意打ち」の時は主人公の位置が左右逆になる。
その辺りの敵の出現処理とかも含まれてるんで、この出現処理が意外にめんどい。
詳しくは「バトルレイアウト変更:base」の「enemy_set_screen」メソッドを見ると実際の処理が記述されてるので
何かもっといい配置方法があった場合などはドンドンmitsu-evoに言って下さいm(__)m



最後にMM風パーティシステムの話。
バトルレイアウト変更との併用は問題なく、簡易汎用ATBとも併用処理がなんとなく完成。
まだ戦闘での戦車からの脱出関連でATB併用での不具合なのか、エラーが残っている。
うちの素材でパーティーをいじくるものは戦車乗降システム以外にはないので
恐らくそれほど競合するものではないハズ・・・
もうすぐUP出来そうな予感がします♪


2011/07/31/Sun 23:11:32  VX RGSS2/CM:0/TB:0/
new 本当に遭遇した怖い話 / MAIN / MM風パーティーシステム:その5 old

COMMENT

COMMENT POST

/
/
/
/



 
 内緒です♪

TRACK BACK

  この記事のURL:
   http://edlogtkool.blog36.fc2.com/tb.php/791-a3707f60


MAIN
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房