【RPGツクールMV】イベントでアクターの画像を変更する方法

【RPGツクールMV】イベントでアクターの画像を変更する方法

RPGツクールMVのゲーム内イベントでアクター(キャラクター)の「歩行キャラ」「顔グラフィック」「戦闘キャラグラフィック」などの画像を変更する方法です。何に使うんだ!?と思われるかもしれませんが、意外と使いどころのある手法です。

考えられる使い道

パッと思いつくだけでも下記のようなケースでの使用が考えられます。

  • アクターの姿形が変えられてしまうイベント
  • アクターがパワーアップするイベント(スーパーサイヤ人的な)
  • アクターが変形・合体するようなイベント(ロボットものですね)
  • アクターの指先など体の一部分のみを歩行グラフィックとしたいイベント(ピアノを弾くイベントなど)
  • アクターの身体が入れ替わるイベント、元に戻すイベント(ギニュー隊長のボディ・チェンジ的な)

ゲーム内容によっては画像変更と言わずアクターごと入れ替えてしまえば済む場合もありますが、あくまでキャラクターの姿が変わるだけで現在のHPやレベル、ステータスなどはそのまま使いたい、という場合に便利です。

画像の変更方法

ゲーム内イベントでアクターの画像を変更するにはイベント作成画面でイベントコマンド『スクリプト』を使用します。

//歩行キャラ
$gameActors.actor(アクターID).setCharacterImage("画像名", 画像番号);
//顔
$gameActors.actor(アクターID).setFaceImage("画像名", 画像番号);
//[SV]戦闘キャラ
$gameActors.actor(アクターID).setBattlerImage("画像名");
//変更を反映
$gamePlayer.refresh();

変更したい部分に合わせて上記に基いて記述しましょう。

rpgmaker_actor_image_change1

RPGツクールでは1枚の画像に8つまでグラフィックを記載することができます。『画像番号』というのはその画像内のどのグラフィックかを指定しています。

番号が0~7となっていますので注意しましょう。

使用例

//歩行キャラ
$gameActors.actor(1).setCharacterImage("Actor1", 2);
//顔
$gameActors.actor(1).setFaceImage("Actor1", 2);
//[SV]戦闘キャラ
$gameActors.actor(1).setBattlerImage("Actor1_3");
//変更を反映
$gamePlayer.refresh();

使用例

上記の例ではアクターIDが1のアクターの

顔をActor1,2番
歩行キャラをActor1,2番
戦闘キャラをActor1_3

の画像に変更しています。

最後に『変更を反映』を忘れずに記述しましょう。

このエントリーをはてなブックマークに追加

【RPGツクールMV】イベントでアクターの画像を変更する方法」への1件のフィードバック

  1. 管理人 投稿作成者

    嘆きの七英雄 KIRUKO様

    お問い合わせよりご助言ありがとうございます。
    試してみたのですが、最後のセミコロンがあってもなくてもエラーは発生せず、正常に実行されました。(ツクールMVのバージョンは1.6.3です)
    ただ本記事のコードをコピーしたところエラーが発生し、調べたところ記事中のダブルクォーテーションが全角になってしまっていたことが原因でした。(Uncaught SyntaxError: Invalid or unexpected token)

    セミコロンの方はどうしようか迷ったのですが、KIRUKO様がおっしゃられたメソッドの呼び出し時にセミコロンを付ける方がJavaScriptの書き方として正しいようでしたので修正させて頂きました。
    ご助言ありがとうございます。

    返信

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。