JSでのトランジション記述

るーでる
記事: 5
登録日時: 2015年12月24日(木) 23:37

JSでのトランジション記述

投稿記事by るーでる » 2016年1月26日(火) 17:30

ツクールVXACEまでは、トランジション準備(画面フリーズ)とトランジション実行は、
Graphics.freeze
Graphics.transition(wait,rule)
をスクリプトに記述するだけでできましたが、MVの場合はJSファイルをfreezeで検索するなどしてみましたが見当たりません。

MVではトランジション機能は削られてしまって、プラグイン素材が必要になったのでしょうか?
あるいはイベントコマンドのスクリプトのみで実行できる記述があれば教えて下さい。

rock3
記事: 31
登録日時: 2016年1月01日(金) 14:51

Re: JSでのトランジション記述

投稿記事by rock3 » 2016年1月27日(水) 14:16

こんにちは。
MVにトランジションを、画面に描画する専用命令が、無いようです。
JavaScriptのファイルを、見てみるとフェードアウトやズームや画面点滅などの画面効果を、備えているようです。
内部用として画面スナップショットを、撮影するメソッドも備えています。
(スナップ処理 SceneManager.snapForBackground(); )
スナップ処理すると内部で共通で使われているバックグラウンドのビットマップとして保持されます。

戦闘トランジションは Scene_Map.prototype.updateEncounterEffect で定義されていますので、ここで描画
更新するとでオリジナルの戦闘トランジションが、自作出来ます。
この処理は、イベントのスクリプトでも置き換えも可能です。

置き換える部分のコード(変更前の物)

コード: 全て選択

Scene_Map.prototype.updateEncounterEffect = function() {
    if (this._encounterEffectDuration > 0) {
        this._encounterEffectDuration--;
        var speed = this.encounterEffectSpeed();
        var n = speed - this._encounterEffectDuration;
        var p = n / speed;
        var q = ((p - 1) * 20 * p + 5) * p + 1;
        var zoomX = $gamePlayer.screenX();
        var zoomY = $gamePlayer.screenY() - 24;
        if (n === 2) {
            $gameScreen.setZoom(zoomX, zoomY, 1);
            this.snapForBattleBackground();
            this.startFlashForEncounter(speed / 2);
        }
        $gameScreen.setZoom(zoomX, zoomY, q);
        if (n === Math.floor(speed / 6)) {
            this.startFlashForEncounter(speed / 2);
        }
        if (n === Math.floor(speed / 2)) {
            BattleManager.playBattleBgm();
            this.startFadeOut(this.fadeSpeed());
        }
    }
};


プラグインを、作ってみたのでお試しください。

戦闘トランジションを変更するプラグイン
viewtopic.php?f=5&p=1219#p1219

以上、参考になれば幸いです。
るーでる
記事: 5
登録日時: 2015年12月24日(木) 23:37

Re: JSでのトランジション記述

投稿記事by るーでる » 2016年1月27日(水) 15:22

ありがとうございます。
トランジションを使いたかったのはイベントで、戦闘開始部分ではありませんが、
頂いたものを分析して自分なりにやってみようと思います。


マップ画面でのトランジション、なんで削っちゃったんでしょうねえ……。
rock3
記事: 31
登録日時: 2016年1月01日(金) 14:51

Re: JSでのトランジション記述

投稿記事by rock3 » 2016年1月27日(水) 16:30

マップでトランジションを、実現するならピクテャー表示や移動や回転で出来ると思います。
例えばイベントエディタで下記のように設定すると画面より大きな半透明部分PNG画像が、画面端から
スライド移動してくるので横から段々暗くなるトランジションのような表現になります。

実行内容
◆ピクテャの表示:#1、Transition、右上(-1632,0)、(100%,100%)、255、通常
◆ピクテャの移動:#1、右上(0,0)、(100%,100%)、255、通常、60フレーム
◆ピクテャの消去

半透明部分がある画像は、Photoshopとか画像編集ソフトで作成できます。

画像作成例
Transition.png
Transition.png (5.51 KiB) 閲覧数: 4460 回

“MV:質問” へ戻る