3テラバイト

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

RPGツクールMV

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

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

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

確認環境

RPGツクールMV Version 1.6.2

文字を表示する関数

Window_Baseクラスに定義されている以下の関数を使用して文字を表示します。
第一引数に表示したい文字列、第二引数にX座標、第三引数にY座標を指定します。

drawText("文字表示", 0, 0);

複数行表示したい場合は、同じくWindow_Baseクラスに定義されているlineHeight関数で一行の高さが取得できるため、この値を使用してY座標の調整を行います。

lineHeight

文字色を変更したい場合は以下のように変更します。
textColorの引数により文字色が変わります。

this.changeTextColor(this.textColor(1));

文字色を元に戻す場合は以下の関数を呼び出します。

this.resetTextColor();

サンプル

プラグインコマンド「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.createWindowLayer();

        this._testWindow = new Window_Test(0, 0, 400, 300);
        this.addWindow(this._testWindow);
    };

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

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

    //--------------------------------------------------
    // Name : Window_Test
    // Desc : テストウィンドウクラス
    //--------------------------------------------------
    function Window_Test() {
        this.initialize.apply(this, arguments);
    }

    Window_Test.prototype = Object.create(Window_Base.prototype);
    Window_Test.prototype.constructor = Window_Test;

    Window_Test.prototype.initialize = function(x, y, width, height) {
        Window_Base.prototype.initialize.call(this, x, y, width, height);
    };

	Window_Test.prototype.update = function() {
        Window_Base.prototype.update.call(this);

        this.contents.clear();
        var textPosY = 0;

        this.drawText("文字表示", 0, textPosY);
        textPosY += this.lineHeight();

        this.changeTextColor(this.textColor(1));
        this.drawText("文字色を変更する", 0, textPosY);
        textPosY += this.lineHeight();

        this.resetTextColor();
        this.drawText("文字色を元に戻す", 0, textPosY);
        textPosY += this.lineHeight();

        this.drawText("変数0001 : " + $gameVariables.value(1), 0, textPosY);
        textPosY += this.lineHeight();

        this.drawText("スイッチ0001 : " + $gameSwitches.value(1), 0, textPosY);
        textPosY += this.lineHeight();
	};

})();

-RPGツクールMV


comment

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

関連記事

no image

RPGツクールMVで職業の変更をスクリプトから行う

イベントコマンドの1ページ目、アクター > 職業の変更…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード actor関数の引数には名前を変更したい …

no image

RPGツクールMVでシンプルなメニュー画面を実装するプラグインSimpleMenuLayoutの使い方

ダウンロード 以下のツクールフォーラムのスレッドにプラグイン本体のリンクがあります。 【ダウンロード】の部分に記載されているリンクを右クリックして、名前を付けてリンク先を保存等からダウンロードし、プロ …

no image

RPGツクールMVでBGM再生中かどうか判定する

現在再生されているBGMの情報はAudioManager._currentBgmに格納されているため、条件分岐のスクリプトでこの値がnullかどうかの判定を行います。 イベントコマンドの条件分岐を追加 …

no image

RPGツクールMVでポイント振り分けによるステータス上昇を実装するプラグインAnTaresの使い方

このプラグインはまっつUP様が制作されたプラグインです。 ダウンロード 以下ツクマテのスレッド内に添付されています。 https://tm.lucky-duet.com/viewtopic.php?f …

no image

RPGツクールMVで経験値の増減をスクリプトから行う

RPGツクールMVで経験値の増減をスクリプトから行う方法についてまとめていきます。 イベントコマンドの1ページ目、アクター > 経験値の増減…と同様の操作を、イベントコマンドの3ページ目、上級 > ス …