(解決済み)AltMenuScreen2のピクチャ名の可変化

tomysuru11
記事: 9
登録日時: 2016年9月07日(水) 08:17

(解決済み)AltMenuScreen2のピクチャ名の可変化

投稿記事by tomysuru11 » 2016年11月28日(月) 22:21

お世話になります。

メニュー画面でキャラの立ち絵を出したいのでAltMenuScreen2を使わせて頂いています。
その際にアクターのグラフィックを装備による変更がしたいと考えています。


アクターのグラフィックをメモに入れるのですが変数の使用ができないと思います。
<stand_picture:/V[10]>
のようにピクチャ名に変数が使用できるようにするのはどう改造すればよいか教えて頂けないでしょうか。


その続きで、変数の使用ができるようになったとして、どこかで変数の代入処理を行わなくてはいけないと思います。
そのため装備を変更してメニューのメイン画面に戻ったときに、装備番号をによって変数に入れる値を変更できるようにしたいです。
具体的にどう設定するかは条件があるので、コモンで自分で書こうと思います。
そのためにメニューメイン画面に入るところで指定したコモンを呼び出したいと思っています。

※装備*キャラ分の組み合わせがあるので、変数の指定を防具のメモに書くのは
現実的でないかと思っています。グラフィックが変わる防具が一部だったり、組み合わせセットがそろって変化ということをやりたいこともあるため。

上のことをするために、

①②を同時に行うプラグイン

もしくは
①の改造方法
②のようにメニューに戻った瞬間+開いた瞬間だけ指定したコモンを呼び出すプラグインを作成

をして頂けないでしょうか。

申し訳ありませんがお願いいたします。
最後に編集したユーザー tomysuru11 on 2016年11月28日(月) 23:22 [ 編集 1 回目 ]

アバター
トリアコンタン
記事: 2216
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: AltMenuScreen2のピクチャ名の可変化

投稿記事by トリアコンタン » 2016年11月28日(月) 22:37

こんにちは!
①のメモ欄に変数を使用する方法ですが、Window_MenuStatus.prototype.drawItemを以下のように修正すればたぶんいけると思います。

コード: 全て選択

    Window_MenuStatus.prototype.drawItemImage = function(index) {
        var actor = $gameParty.members()[index];
        var rect = this.itemRectForText(index);
        // load stand_picture
        var bitmapName = $dataActors[actor.actorId()].meta.stand_picture;
        // ここを追加
        if (bitmapName) bitmapName = this.convertEscapeCharacters(bitmapName);
        // ここを追加
        var bitmap = bitmapName ? ImageManager.loadPicture(bitmapName) : null;
        var w = Math.min(rect.width, (bitmapName ? bitmap.width : 144));
        var h = Math.min(rect.height, (bitmapName ? bitmap.height : 144));
        var lineHeight = this.lineHeight();
        this.changePaintOpacity(actor.isBattleMember());
        if(bitmap){
            var sx = (bitmap.width > w) ? (bitmap.width - w) / 2 : 0;
            var sy = (bitmap.height > h) ? (bitmap.height - h) / 2 : 0;
            var dx = (bitmap.width > rect.width) ? rect.x :
                rect.x + (rect.width - bitmap.width) / 2;
            var dy = (bitmap.height > rect.height) ? rect.y :
                rect.y + (rect.height - bitmap.height) / 2;
            this.contents.blt(bitmap, sx, sy, w, h, dx, dy);
        } else { // when bitmap is not set, do the original process.
            this.drawActorFace(actor, rect.x, rect.y + lineHeight * 2.5, w, h);
        }
        this.changePaintOpacity(true);
    };
最後に編集したユーザー トリアコンタン on 2016年11月28日(月) 23:06 [ 編集 1 回目 ]
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
tomysuru11
記事: 9
登録日時: 2016年9月07日(水) 08:17

Re: AltMenuScreen2のピクチャ名の可変化

投稿記事by tomysuru11 » 2016年11月28日(月) 22:59

トリアコンタン様

お世話になります。
ご教示ありがとうございます!うまくいけました!
早速お教えいただいてありがとうございました。
tomysuru11
記事: 9
登録日時: 2016年9月07日(水) 08:17

Re: (解決済み)AltMenuScreen2のピクチャ名の可変化

投稿記事by tomysuru11 » 2016年11月28日(月) 23:23

②のほうも「メニュー表示前後にコモンイベントを実行」で解決できました。
修正方法やアドバイス、本当にありがとうございます。

“MV:プラグイン素材のリクエスト” へ戻る