【解決】並び替えで特定のメンバーを先頭にしたい。

返信する
dekkey
記事: 2
登録日時: 2020年12月10日(木) 00:17

【解決】並び替えで特定のメンバーを先頭にしたい。

投稿記事 by dekkey »

現在、8名パーティーで並び替えはプレイヤーが自由に変更できるようにしています。
特定のエリアに入った時だけ、強制的に、関係するメンバー(id0003)を先頭に変更したいと考えています。
その部屋にいる間は並び替えメニューは禁止しようと思っています。
また、そのエリアから出ると、並び替えメニューを許可し、並びは id0003 元いた並びに戻るようにしたいと考えています。
どのように実現すればよいか、アドバイスいただけないでしょうか?
最後に編集したユーザー dekkey [ 2020年12月14日(月) 23:10 ], 累計 1 回
アバター
ムノクラ
記事: 2118
登録日時: 2018年2月23日(金) 11:41
連絡する:

Re: 並び替えで特定のメンバーを先頭にしたい。

投稿記事 by ムノクラ »

dekkey さんが書きました:現在、8名パーティーで並び替えはプレイヤーが自由に変更できるようにしています。
特定のエリアに入った時だけ、強制的に、関係するメンバー(id0003)を先頭に変更したいと考えています。
その部屋にいる間は並び替えメニューは禁止しようと思っています。
また、そのエリアから出ると、並び替えメニューを許可し、並びは id0003 元いた並びに戻るようにしたいと考えています。
どのように実現すればよいか、アドバイスいただけないでしょうか?
下記記事を参考に作りました。

闘技場などで一時的に挑戦者一人にするイベント作成:パーティアクターの記憶と復元
https://fungamemake.com/archives/7492

viewtopic.php?t=3665#p12596

指定したアクターが先頭に来て、他のアクターの並び順はそのままで後ろにスライドします。

コード: 全て選択

◆スクリプト://パーティアクターの記憶
:     :$gameParty._lastActors = $gameParty._actors.clone();
:     :
:     ://パーティメンバーの先頭と交代
:     :const newFirst = actorId1;
:     :  //actorId1を先頭に行くアクターIDに書き換える
:     :$gameParty.removeActor(newFirst);
:     :$gameParty._actors.unshift(newFirst);
:     :$gamePlayer.refresh();
:     :$gameMap.requestRefresh();
◆並び替え禁止の変更:禁止

コード: 全て選択

◆スクリプト://パーティアクターの復元
:     :$gameParty._actors = $gameParty._lastActors;
:     :$gamePlayer.refresh();
:     :$gameMap.requestRefresh();
◆並び替え禁止の変更:許可

コード: 全て選択

//パーティアクターの記憶
$gameParty._lastActors = $gameParty._actors.clone();

//パーティメンバーの先頭と交代
const newFirst = actorId1;
  //actorId1を先頭に行くアクターIDに書き換える
$gameParty.removeActor(newFirst);
  //先頭アクターを削除
$gameParty._actors.unshift(newFirst);
  //newFirstを先頭に追加
$gamePlayer.refresh();
$gameMap.requestRefresh();

コード: 全て選択

//パーティアクターの復元
$gameParty._actors = $gameParty._lastActors;
$gamePlayer.refresh();
$gameMap.requestRefresh();
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
dekkey
記事: 2
登録日時: 2020年12月10日(木) 00:17

Re: 【解決】並び替えで特定のメンバーを先頭にしたい。

投稿記事 by dekkey »

ムノクラ様。早速教えていただきありがとうございます!
他のキャラクターの並びはスライドするというのも、理想通りの動作で、大変助かりました!
アバター
ムノクラ
記事: 2118
登録日時: 2018年2月23日(金) 11:41
連絡する:

Re: 【解決】並び替えで特定のメンバーを先頭にしたい。

投稿記事 by ムノクラ »

解説記事のネタがてら、プラグインコマンドにしてみました。

https://fungamemake.com/archives/12475

よろしければ、ご活用ください。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
返信する

“MZ:質問”に戻る