【解決済み】エネミー選択ウィンドウに死んでいるエネミーも

月宮りお
記事: 23
登録日時: 2016年9月09日(金) 16:30

【解決済み】エネミー選択ウィンドウに死んでいるエネミーも

投稿記事by 月宮りお » 2016年11月06日(日) 18:50

戦闘中に攻撃・魔法・アイテムの対象を選ぶエネミーウィンドウについてですが、
訳あって「生きているエネミーだけ」ではなく「死んでいるエネミーも
含めて全員」から選択できるように変更しようとしています。
エネミーウィンドウを編集して、死んでも選択肢から消えずに全員の名前が
並ぶ、というところまではできました。

次に、初期カーソル位置を変更しようとしています。
今のところ、エネミーウィンドウが出たとき、常に「一番上のエネミー」に
カーソルが出ているので、「生きているエネミーの中で一番上にいるエネミー」に
カーソルが出るようにしようとしています。

Scene_Battle.prototype.selectEnemySelection = function() {
this._enemyWindow.refresh();
this._enemyWindow.show();
this._enemyWindow.select(0);
this._enemyWindow.activate();
};

↑ここの4行目にある(0)を、(1)にすれば2番目のエネミーに、
(2)にすれば3番目のエネミーに、(3)にすれば4番目のエネミーに、
初期カーソル位置が変わることは分かりました。そこで、

エネミーAが生きていれば(0)を入れる。
エネミーBが存在していて生きていれば(1)を入れる。
エネミーCが存在していて生きていれば(2)を入れる。
エネミーDが存在していて生きていれば(3)を入れる。

というふうに条件分岐しようとしているのですが、中々上手くいかず
行き詰まっています。多分、条件分岐はどうにか書けると思うのですが、
エネミーのデータを取り出すことができない、という状態です。
どう書けばよいものでしょうか?
最後に編集したユーザー 月宮りお on 2016年11月08日(火) 08:43 [ 編集 1 回目 ]

アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: エネミー選択ウィンドウに死んでいるエネミーも

投稿記事by まっつUP » 2016年11月06日(日) 20:07

月宮りお様
お世話になります。

「まず「死んでいるエネミーも含めて全員」から選択できるように」の状態にして
生きているメンバー番目の位置のindexを選択しました。
そしたらできたっぽいので貼っておきます。
(あまりテストしていません、改変は自己責任でお願いします。)
aliveMembers()を使えばもっとうまくできそうな気がします。(私にはそれは難しい。)

Scene_Battle.prototype.selectEnemySelection = function() {
this._enemyWindow.refresh();
this._enemyWindow.show();
this._enemyWindow.select(this.selene());
console.log(this.selene());
this._enemyWindow.activate();
};

Scene_Battle.prototype.selene = function() {
for(var i = 0; i < $gameTroop.members().length; i++){
if($gameTroop.members()[i].isAlive()) return i;
}
return 0;
};
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: エネミー選択ウィンドウに死んでいるエネミーも

投稿記事by 奏ねこま » 2016年11月06日(日) 20:21

おそらくthis._enemiesに生き死に関係なく全部のエネミーが入っているのだと思いますので、

this._enemies.indexOf($gameTroop.aliveMembers()[0])

で、「生きているエネミーのうち、先頭のエネミーのindex」が取得できます。
これをselectに渡せば、ご希望の状態になるのではないでしょうか。
月宮りお
記事: 23
登録日時: 2016年9月09日(金) 16:30

Re: エネミー選択ウィンドウに死んでいるエネミーも

投稿記事by 月宮りお » 2016年11月08日(火) 08:43

お二方、ご回答ありがとうございます!
お陰様で無事にできました^0^
途方に暮れていたので本当に助かりました!

“MV:質問” へ戻る