こんにちは。
マグナム武田 さんが書きました:ゲームプレイ中のアクターの顔&歩行グラフィックの情報を取得し
任意のタイミングで呼び出すことは可能でしょうか?
具体的に何をしたいかと言うと
ゲームイベントの回想部屋を作りたいと思っています。
例を挙げると
Aというキャラが部屋にある回想イベントを起動(この時点の歩行グラ保存)
>回想イベント内容はAの別衣装(歩行グラ変更)のA`のイベント
>回想イベント終了後に回想部屋に復帰、Aの衣装に戻る
Aが様々な歩行グラだったりするので
顔&歩行グラ取得、呼び出しをしたいのですが
メンバーの取得などしか出来ず悩んでおります。
ツクール初心者なので質問がおかしい点が多いかもしれませんが
よろしくお願い致します。
特定のアクターに設定されている、歩行グラフィック、顔、バトラー(サイドビュー戦闘時のキャラ)の情報は、
以下のスクリプトで取得できます。
コード: 全て選択
// 歩行グラフィックの画像名
$gameActors.actor(アクターのID).characterName();
// 歩行グラフィックのインデックス
$gameActors.actor(アクターのID).characterIndex();
// 顔の画像名
$gameActors.actor(アクターのID).faceName();
// 顔のインデックス
$gameActors.actor(アクターのID).faceIndex();
// バトラーの画像名
$gameActors.actor(アクターのID).battleName();
アクターの画像変更は、イベントコマンドだと、変数などから画像名を指定することができないので、
こちらもスクリプトで、設定することになります。
設定するスクリプトは以下です。
コード: 全て選択
// 歩行グラフィック
$gameActors.actor(アクターのID).setCharacterImage(画像名, インデックス);
// 顔グラフィック
$gameActors.actor(アクターのID).setFaceImage(画像名, インデックス);
// バトラー
$gameActors.actor(アクターのID).setBattlerImage(画像名);
例えば、アクターID 0001 のアクター画像の設定を変数ID 0021 にまとめておき、
必要なタイミングで、アクター画像を設定する場合は以下のようなスクリプトで実行できます。
(変数の最大数が21未満だと設定できないので注意)
(一例なので、他にも書き方はあります)
アクター画像の設定を変数ID 0021 にまとめておく
コード: 全て選択
const actor = $gameActors.actor(1);
const actorImages = {
characterName: actor.characterName(),
characterIndex: actor.characterIndex(),
faceName: actor.faceName(),
faceIndex: actor.faceIndex(),
battlerName: actor.battlerName()
};
$gameVariables.setValue(21, actorImages);
アクターの画像を変数ID 0021 の内容に基づいて変更する
コード: 全て選択
const actor = $gameActors.actor(1);
const actorImages = $gameVariables.value(21);
actor.setCharacterImage(actorImages.characterName, actorImages.characterIndex);
actor.setFaceImage(actorImages.faceName, actorImages.faceIndex);
actor.setBattlerImage(actorImages.battlerName);
以上、お試しください。