3テラバイト

プログラム関連備忘録サイト。主にゲーム。

RPGツクールMV

RPGツクールMV – 自作プラグインで画像を表示する

投稿日:2020年5月18日 更新日:

こんにちは、今日はRPGツクールMVの自作プラグインで独自の画面に任意の画像を表示する方法についてまとめていきます。

確認環境

RPGツクールMV Version 1.6.2

画像を表示する方法

画像を表示するのにjs/rpg_core.jsに定義されているSpriteクラスを使用します。
以下のようにSpriteクラスのインスタンスを生成し、addChild()でシーンに追加します。

var sprite = new Sprite(ImageManager.loadEnemy("Angel"));
sprite.x = Graphics.width / 2;
sprite.y = Graphics.height / 2;
sprite.anchor.x = 0.5;
sprite.anchor.y = 0.5;
this.addChild(sprite);

ImageManager.loadEnemy関数は指定の画像名をimg/enemies/フォルダから探して画像を生成します。
内部的にはImageManager.loadBitmapで画像を生成する際にフォルダを固定しているのみなので、ImageManager.loadBitmap自体を使用しても問題ありません。
そのほかにも以下のような関数が用意されています。
いずれもjs/rpg_managers.jsの803行目あたりから定義されていますので、確認してみてください。

関数名フォルダ
loadAnimationimg/animations/
loadBattleback1img/battlebacks1/
loadBattleback2img/battlebacks2/
loadEnemyimg/enemies/
loadCharacterimg/characters/
loadFaceimg/faces/
loadParallaximg/parallaxes/
loadPictureimg/pictures/
loadSvActorimg/sv_actors/
loadSvEnemyimg/sv_enemies/
loadSystemimg/system/
loadTilesetimg/tilesets/
loadTitle1img/titles1/
loadTitle2img/titles2/

サンプル

プラグインコマンド「TestScene」で独自のシーンを呼び出し、そのシーン内で天使の画像を表示、上下左右キーで移動させるサンプルです。

(function() {
    var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
    Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _Game_Interpreter_pluginCommand.call(this, command, args);
        switch(command){
            case 'TestScene':
                SceneManager.push(Scene_Test);
            break;
        }
    };

    //--------------------------------------------------
    // Name : Scene_Test
    // Desc : テストシーンクラス
    //--------------------------------------------------
    function Scene_Test() {
        this.initialize.apply(this, arguments);
    }

    Scene_Test.prototype = Object.create(Scene_Base.prototype);
    Scene_Test.prototype.constructor = Scene_Test;

    Scene_Test.prototype.initialize = function() {
        Scene_Base.prototype.initialize.call(this);
    };

    Scene_Test.prototype.create = function() {
        Scene_Base.prototype.create.call(this);
        this.createBackground();
        this.createSprite();
    };

    Scene_Test.prototype.createSprite = function() {
        var sprite = new Sprite(ImageManager.loadEnemy("Angel"));
        sprite.x = Graphics.width / 2;
        sprite.y = Graphics.height / 2;
        sprite.anchor.x = 0.5;
        sprite.anchor.y = 0.5;
        this._testSprite = sprite;
        this.addChild(this._testSprite);
    }

    Scene_Test.prototype.update = function() {
        Scene_Base.prototype.update.call(this);
        this.keyControll();
    };

    Scene_Test.prototype.keyControll = function() {
        if (Input.isRepeated('cancel')) {
            this.popScene();
        }
        if (Input.isPressed('left')) {
            this._testSprite.x -= 10;
        }
        if (Input.isPressed('right')) {
            this._testSprite.x += 10;
        }
        if (Input.isPressed('up')) {
            this._testSprite.y -= 10;
        }
        if (Input.isPressed('down')) {
            this._testSprite.y += 10;
        }
    }

    Scene_Test.prototype.createBackground = function() {
        this._backgroundSprite = new Sprite();
        this._backgroundSprite.bitmap = SceneManager.backgroundBitmap();
        this.addChild(this._backgroundSprite);
    };

})();

-RPGツクールMV


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

RPGツクールMVで敗北MEの変更をスクリプトから行う

イベントコマンドの1ページ目、アクター > 敗北MEの変更…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード 変数$gameSystemにはGam …

no image

RPGツクールMVで文章の表示中にSEを鳴らすプラグインMPP_MessageSEの使い方

このプラグインを導入すると、イベントコマンドの文章の表示で文字表示ごとにSEを鳴らすことができます。 このプラグインは木星ペンギン様が制作されたものです。 確認環境 RPGツクールMV Version …

no image

RPGツクールMVでメニューに変数の値を表示するプラグインTMMenuLabelの使い方

このプラグインを導入すると、上の画像のようにメニューに変数の値や、歩数、セーブ回数、戦闘回数、勝利回数、敗北回数とその前後にラベルを表示することができます。 このプラグインはtomoaky様が制作され …

no image

RPGツクールMV – Tilesets.jsonとデータベースの対応表

RPGツクールMVエディタ上でデータベースのタイルセットで設定したデータは、プロジェクトフォルダのdata/Tilesets.jsonに保存されています。 Tilesets.jsonは最初の要素がnu …

no image

RPGツクールMVでスクリプトからマップ上のイベントを初期位置に戻す

確認環境 RPGツクールMV Version 1.6.3 スクリプト let events = $gameMap.events(); for(let i = 0; i < events.leng …