戦闘中に攻撃・魔法・アイテムの対象を選ぶエネミーウィンドウについてですが、
訳あって「生きているエネミーだけ」ではなく「死んでいるエネミーも
含めて全員」から選択できるように変更しようとしています。
エネミーウィンドウを編集して、死んでも選択肢から消えずに全員の名前が
並ぶ、というところまではできました。
次に、初期カーソル位置を変更しようとしています。
今のところ、エネミーウィンドウが出たとき、常に「一番上のエネミー」に
カーソルが出ているので、「生きているエネミーの中で一番上にいるエネミー」に
カーソルが出るようにしようとしています。
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)を入れる。
というふうに条件分岐しようとしているのですが、中々上手くいかず
行き詰まっています。多分、条件分岐はどうにか書けると思うのですが、
エネミーのデータを取り出すことができない、という状態です。
どう書けばよいものでしょうか?
【解決済み】エネミー選択ウィンドウに死んでいるエネミーも
【解決済み】エネミー選択ウィンドウに死んでいるエネミーも
最後に編集したユーザー 月宮りお [ 2016年11月08日(火) 08:43 ], 累計 1 回
Re: エネミー選択ウィンドウに死んでいるエネミーも
月宮りお様
お世話になります。
「まず「死んでいるエネミーも含めて全員」から選択できるように」の状態にして
生きているメンバー番目の位置の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().isAlive()) return i;
}
return 0;
};
お世話になります。
「まず「死んでいるエネミーも含めて全員」から選択できるように」の状態にして
生きているメンバー番目の位置の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().isAlive()) return i;
}
return 0;
};
RPGで笑顔を・・・
ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup
github
https://github.com/mattuup/RPGMakerMZ
ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup
github
https://github.com/mattuup/RPGMakerMZ
Re: エネミー選択ウィンドウに死んでいるエネミーも
おそらくthis._enemiesに生き死に関係なく全部のエネミーが入っているのだと思いますので、
this._enemies.indexOf($gameTroop.aliveMembers()[0])
で、「生きているエネミーのうち、先頭のエネミーのindex」が取得できます。
これをselectに渡せば、ご希望の状態になるのではないでしょうか。
this._enemies.indexOf($gameTroop.aliveMembers()[0])
で、「生きているエネミーのうち、先頭のエネミーのindex」が取得できます。
これをselectに渡せば、ご希望の状態になるのではないでしょうか。
Re: エネミー選択ウィンドウに死んでいるエネミーも
お二方、ご回答ありがとうございます!
お陰様で無事にできました^0^
途方に暮れていたので本当に助かりました!
お陰様で無事にできました^0^
途方に暮れていたので本当に助かりました!