ページ 11

パーティの並び順を強制的に変える方法

Posted: 2016年8月27日(土) 09:47
by nekodelic
続けざまに質問させて頂いて申し訳ありません。

パーティの並び順を変数を使って強制的に並び変える方法があれば、教えていただけると幸いです。
もしくは、先頭のメンバーを最後尾にまわせる方法だけでもかまいません。

生存中のメンバーをパーティの先頭にさせるような方法を探しています。

Re: パーティの並び順を強制的に変える方法

Posted: 2016年8月27日(土) 11:25
by トリアコンタン
おはようございます。
強制的に並び順を変更するには以下のスクリプトを実行します。

index1, index2:入れ替え対象のパーティの並び順

コード: 全て選択

$gameParty.swapOrder(index1,index2);
例:パーティの先頭と2番目のアクターを入れ替える

コード: 全て選択

$gameParty.swapOrder(0,1);

Re: パーティの並び順を強制的に変える方法

Posted: 2016年8月27日(土) 11:36
by nekodelic
いつもいつも、ありがとうございます!!
初歩的な質問でしたが、ご丁寧に解決法を教えていただき、とても助かりました!

Re: パーティの並び順を強制的に変える方法

Posted: 2016年8月27日(土) 11:56
by まっつUP
nekodelic様

こうですかね?
(スクリプトコマンド)
var a = $gameParty._actors.length - 1;
for(var i = 0; i <= a; i++){
var j = $gameParty._actors; //隊列のi番目にいるアクターのID
if(!$gameActors.actor(j).isAlive()){ //この世にいないアクターかな?
$gameParty._actors.splice(i,1);
$gameParty._actors.push(j); //最後尾にアクター追加
--a;
--i;
}
}
◆注釈:移動隊員の並び順修正
(スクリプトコマンド)
$gamePlayer.refresh();
$gameMap.requestRefresh();

トリアコンタン様がおっしゃった方法は知らなかったです・・・(小声)
この方法は使わないかもしれませんが何か不具合があったら気軽にどうぞ。

Re: パーティの並び順を強制的に変える方法

Posted: 2016年8月27日(土) 12:18
by nekodelic
他の方法まで教えていただき、ありがとうございます!!
ぜひ使わせていただきます。
おかげさまで、ゲームの製作がはかどりそうです!