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でメニューを1人用に変更するプラグインTMSoloMenuの使い方

プラグインを導入すると、メニューが上の画像のように1人用に特化したものに変更されます。各項目選択時のアクター選択も省略され、一番上のアクターのものが表示されます。 このプラグインはtomoaky様が制 …

no image

RPGツクールMVでメニュー禁止の変更をスクリプトから行う

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

no image

RPGツクールMVでセルフスイッチの操作をスクリプトから行う

イベントコマンドの1ページ目、ゲーム進行 > セルフスイッチの操作…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード 以下のコードでセルフスイッチ …

no image

RPGツクールMVでタイマーの操作をスクリプトから行う

イベントコマンドの2ページ目、キャラクター > タイマーの操作…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード 以下のコードでタイマーの操作をす …

no image

RPGツクールMVで画面の色調変更をスクリプトから行う

スクリプトコード 第一引数に赤、緑、青、グレーの値の配列を、第二引数に時間を指定します。 $gameScreen.startTint([0,0,0,0], 60); イベントコマンドの内容 …