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

アバター
nekodelic
記事: 29
登録日時: 2016年8月04日(木) 12:23

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

投稿記事by nekodelic » 2016年8月27日(土) 09:47

続けざまに質問させて頂いて申し訳ありません。

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

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

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

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

投稿記事by トリアコンタン » 2016年8月27日(土) 11:25

おはようございます。
強制的に並び順を変更するには以下のスクリプトを実行します。

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

コード: 全て選択

$gameParty.swapOrder(index1,index2);


例:パーティの先頭と2番目のアクターを入れ替える

コード: 全て選択

$gameParty.swapOrder(0,1);
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
アバター
nekodelic
記事: 29
登録日時: 2016年8月04日(木) 12:23

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

投稿記事by nekodelic » 2016年8月27日(土) 11:36

いつもいつも、ありがとうございます!!
初歩的な質問でしたが、ご丁寧に解決法を教えていただき、とても助かりました!
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

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

投稿記事by まっつUP » 2016年8月27日(土) 11:56

nekodelic様

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

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

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

github
https://github.com/mattuup/RPGMakerMZ
アバター
nekodelic
記事: 29
登録日時: 2016年8月04日(木) 12:23

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

投稿記事by nekodelic » 2016年8月27日(土) 12:18

他の方法まで教えていただき、ありがとうございます!!
ぜひ使わせていただきます。
おかげさまで、ゲームの製作がはかどりそうです!

“MV:質問” へ戻る