查看: 3870|回复: 4

[已经解决] 查看console的问题

[复制链接]

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2016-6-3 23:54:44 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
怎么查看console?
光看脚本输出console不知道在哪看。。
不然给我个输出的办法也行。
梦石
0
星屑
277
在线时间
53 小时
注册时间
2014-1-24
回帖
18
发表于 2016-6-4 13:17:09 | 显示全部楼层
火狐浏览器安装firebug
或者alert慢慢弹框吧
回复

使用道具 举报

梦石
2
星屑
5550
在线时间
2566 小时
注册时间
2012-2-9
回帖
947

开拓者

发表于 2016-6-4 20:29:21 | 显示全部楼层
本帖最后由 garfeng 于 2016-6-5 15:36 编辑

http://nwjs.io/downloads/
下载sdk版本,只有sdk版才有调试功能,也会比较大。
我们的游戏是pro版本,没有这些附加功能。
下载运行后,按下F12,

show.jpg

甚至能显示出是哪个代码的第几行打印的

评分

参与人数 1星屑 +20 收起 理由
piaoy + 20 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2016-6-4 20:39:28 | 显示全部楼层
本帖最后由 tseyik 于 2016-6-4 20:42 编辑

"デベロッパツールの挙動を調整する制作支援プラグインです。
快適な開発支援のためにテストプレーで活用できる様々な機能を提供する総合開発支援プラグインです。"
DevToolsManage.js[pre lang="javascript"]//=============================================================================
// DevToolsManage.js
// ----------------------------------------------------------------------------
// Copyright (c) 2015-2016 Triacontane
// This software is released under the MIT License.
// http://opensource.org/licenses/mit-license.php
// ----------------------------------------------------------------------------
// Version
// 1.4.0 2016/06/03 メニューバーからデバッグ用のコマンドを実行できる機能を追加
//                  ゲーム画面の更新を停止し、一時的にフリーズする機能を追加
//                  セーブデータのエンコード・デコード機能を追加
// 1.3.0 2016/05/04 スクリプトのその場実行機能を追加
//                  モバイル偽装機能を追加
//                  コードのリファクタリング
// 1.2.2 2016/03/19 ゲームのスピード高速化を8倍速まで対応
// 1.2.1 2016/02/27 タイトルカットしたときにイベントテスト、戦闘テストが正しく開始されない不具合を修正
// 1.2.0 2016/02/24 ゲームのスピードを高速(2倍速)化する機能を追加
//                  戦闘を勝利扱いで即終了する機能を追加
// 1.1.0 2016/01/11 ゲーム開始時にFPS表示(FPS表示/MS表示に対応)を有効にする機能を追加
//                  タイトル画面を飛ばして最新のセーブファイルをロードする機能を追加
// 1.0.2 2016/01/02 繰り返しリセットすると警告が出る問題の解消
//                  ゲームウィンドウを端に寄せる機能(笑)を追加
// 1.0.1 2015/12/19 F12キーでリセットする機能を追加(F5と同様の動作)
// 1.0.0 2015/12/12 初版
// ----------------------------------------------------------------------------
// [Blog]   : http://triacontane.blogspot.jp/
// [Twitter]: https://twitter.com/triacontane/
// [GitHub] : https://github.com/triacontane/
//=============================================================================

/*:
* @plugindesc Developer tools management plugin
* @author triacontane
*
* @param StartupDevTool
* @desc It will start the developer tools at the start of the game.(ON/OFF/MINIMIZE)
* @default OFF
*
* @param AlwaysOnTop
* @desc Game screen always on top.(ON/OFF)
* @default OFF
*
* @param DevToolsPosition
* @desc Developer tool's position(X, Y, Width, Height) Separated comma
* @default 0,0,800,600
*
* @param FuncKeyMinimize
* @desc デベロッパツールの最小化/復帰の切り替えを行うキーです(F1~F12)。
* このキーをCtrlと一緒に押すとデベロッパツールとゲーム画面を閉じます。
* @default F8
*
* @param FuncKeyReload
* @desc 画面のリロードを行うキーです(F1~F12)。デフォルトF5キーと同様の役割を持ちます。
* @default F12
*
* @param FuncKeyMoveEdge
* @desc ゲーム画面の左寄せを行うキーです(F1~F12)。
* @default F11
*
* @param FuncKeyRapidGame
* @desc ゲームを高速化するキーです。(F1~F12)。
* @default F10
*
* @param FuncKeyScript
* @desc スクリプト実行用のウィンドウをポップアップするキーです。(F1~F12)。
* @default F6
*
* @param ShowFPS
* @desc 初期状態で画面左上にFPSを表示します(FPS/MS/OFF)。
* @default OFF
*
* @param CutTitle
* @desc タイトル画面をとばして最新のセーブファイルをロードします。
* セーブファイルがなければニューゲームになります。(ON/OFF)
* @default OFF
*
* @param RapidStart
* @desc 高速化された状態でゲームを開始します。(ON/OFF)
* @default OFF
*
* @param RapidSpeed
* @desc 高速化を実行した際のスピード倍率です。
* @default 2
*
* @param FakeMobile
* @desc モバイル実行を偽装します。(ON/OFF)
* モバイル版で異なるUIを使用する場合の表示確認ができます。
* @default OFF
*
* @param MenuBarVisible
* @desc メニューバーを表示し各種デバッグコマンドを実行できます。(ON/OFF)
* @default ON
*
* @param ClickMenu
* @desc クリックメニューから各種デバッグコマンドを実行できます。(-1;無効 0:左 1:ホイール 2:右)
* @default 2
*
* @help Developer tools management plugin.
* Run developer tools when error occur.
* test play when valid.
*
* This plugin is released under the MIT License.
*/
/*:ja
* @plugindesc デベロッパツール管理プラグイン
* @author トリアコンタン
*
* @param 開始時に起動
* @desc ゲーム開始時に同時にデベロッパツールを起動します。(ON/OFF/MINIMIZE)
* @default OFF
*
* @param 常に前面表示
* @desc ゲーム画面を常に前面に表示します。(ON/OFF)
* @default OFF
*
* @param デベロッパツール表示位置
* @desc デベロッパツールの表示座標です。X座標、Y座標、横幅、高さをカンマ区切りで指定します。
* @default 0,0,800,600
*
* @param 最小化切替キー
* @desc デベロッパツールの最小化/復帰の切り替えを行うキーです(F1~F12)。
* このキーをCtrlと一緒に押すとデベロッパツールとゲーム画面を閉じます。
* @default F8
*
* @param リロードキー
* @desc 画面のリロードを行うキーです(F1~F12)。デフォルトF5キーと同様の役割を持ちます。
* 以前のツクールとの後方互換性を持たせるための機能です。
* @default F12
*
* @param 画面の左寄せキー
* @desc ゲーム画面の左寄せを行うキーです(F1~F12)。
* @default
*
* @param 高速化切替キー
* @desc ゲームの高速化を切り替えるキーです。(F1~F12)。
* @default
*
* @param 強制戦闘勝利キー
* @desc 戦闘を勝利扱いで強制終了するキーです。(F1~F12)。
* @default
*
* @param スクリプト実行キー
* @desc スクリプト実行用のウィンドウをポップアップするキーです。(F1~F12)。
* @default
*
* @param フリーズキー
* @desc 画面の更新を一時停止します。(F1~F12)。
* @default
*
* @param FPS表示
* @desc 初期状態で画面左上にFPSを表示します。(FPS/MS/OFF)
* @default OFF
*
* @param タイトルカット
* @desc タイトル画面をとばして最新のセーブファイルをロードします。
* セーブファイルがなければニューゲームになります。(ON/OFF)
* @default OFF
*
* @param 高速開始
* @desc 高速化された状態でゲームを開始します。(ON/OFF)
* @default OFF
*
* @param 高速スピード
* @desc 高速化を実行した際のスピード倍率です。
* 最大で8倍速まで指定できます。
* @default 2
*
* @param モバイル偽装
* @desc モバイル実行を偽装します。(ON/OFF)
* モバイル版で異なるUIを使用する場合の表示確認ができます。
* @default OFF
*
* @param メニューバー表示
* @desc メニューバーを表示し各種デバッグコマンドを実行できます。(ON/OFF)
* @default ON
*
* @param クリックメニュー
* @desc クリックメニューから各種デバッグコマンドを実行できます。(-1;無効 0:左 1:ホイール 2:右)
* @default 2
*
* @help デベロッパツールの挙動を調整する制作支援プラグインです。
* 快適な開発支援のために以下の機能を提供します。
*
* 1. ゲーム開始時にデベロッパツールが自動で立ち上がる機能(最小化での起動も可能)
* 2. エラー発生時やalert時にデベロッパツールが自動でアクティブになる機能
* 3. ゲーム画面を常に前面に表示する機能
* 4. 後方互換機能(F12でリロード、pでコンソール出力)
* 5. alertの挙動をデベロッパツールへのログ出力に変更する機能
* 6. テストプレー中にマップやイベントを修正して再保存すると、ゲーム画面に
*    フォーカスを戻した瞬間に最新のマップを自動でリロードする機能
* 7. ゲーム開始時にFPS表示(FPS表示/MS表示に対応)を有効にする機能
* 8. タイトル画面を飛ばして最新のセーブファイルをロードする機能
* 9. マップ上でのゲームのスピードを高速化(8倍速まで)する機能
*    (マップ上で高速、フェードアウト、メッセージ表示の高速スキップ)
* 10.強制的に敵を全滅させる機能
* 11.スクリプトをその場で実行して結果を得る機能
*    (実行したスクリプトはクリップボードに格納されます)
* 12.モバイル実行を偽装する機能
*    (モバイル用のUIの表示確認ができます。
*     オーディオが演奏されない制約があります)
* 13.ゲーム画面の更新を一時的に停止する機能
* 14.セーブデータのエンコード・デコード機能(※1)
*
* ※1 セーブデータのエンコード・デコード機能について
* セーブファイルをJSON形式に変換してJSONエディタ等で編集可能にします。
* 編集したファイルを再度、セーブファイルに戻すこともできます。
* スクリプト実行機能またはイベントコマンドのテスト機能で
* 以下のスクリプトを実行してください。
*
* DataManager.decodeSaveGame(id); // id:セーブファイルID
* Base64でエンコーディングされたセーブファイルをJSON形式に戻します。
*
* DataManager.encodeSaveGame(id); // id:セーブファイルID
* JSON形式のセーブデータを再度Base64でエンコーディングして保存します。
*
* このプラグインはローカル環境でのテストプレー時のみ有効となります。
*
* このプラグインにはプラグインコマンドはありません。
*
* 利用規約:
*  作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
*  についても制限はありません。
*  このプラグインはもうあなたのものです。
*/

var p = null;

(function() {
    'use strict';
    // テストプレー時以外は一切の機能を無効
    if (!Utils.isOptionValid('test') || !Utils.isNwjs()) {
        console.log('DevToolsManage is valid only test play!');
        return;
    }
    var pluginName = 'DevToolsManage';

    //=============================================================================
    // p
    //  RGSS互換のために定義します。
    //=============================================================================
    p = function(value) {
        console.log(value);
        SceneManager.getNwJs().showDevTools();
    };

    //=============================================================================
    // ローカル関数
    //  プラグインパラメータやプラグインコマンドパラメータの整形やチェックをします
    //=============================================================================
    var getParamString = function(paramNames, upperFlg) {
        var value = getParamOther(paramNames);
        return value === null ? '' : upperFlg ? value.toUpperCase() : value;
    };

    var getParamNumber = function(paramNames, min, max) {
        var value = getParamOther(paramNames);
        if (arguments.length < 2) min = -Infinity;
        if (arguments.length < 3) max = Infinity;
        return (parseInt(value, 10) || 0).clamp(min, max);
    };

    var getParamBoolean = function(paramNames) {
        var value = getParamOther(paramNames);
        return (value || '').toUpperCase() === 'ON';
    };

    var getParamOther = function(paramNames) {
        if (!Array.isArray(paramNames)) paramNames = [paramNames];
        for (var i = 0; i < paramNames.length; i++) {
            var name = PluginManager.parameters(pluginName)[paramNames];
            if (name) return name;
        }
        return null;
    };

    var getParamArrayString = function(paramNames) {
        var values = getParamString(paramNames);
        return (values || '').split(',');
    };

    var getParamArrayNumber = function(paramNames, min, max) {
        var values = getParamArrayString(paramNames);
        if (arguments.length < 2) min = -Infinity;
        if (arguments.length < 3) max = Infinity;
        for (var i = 0; i < values.length; i++) values = (parseInt(values, 10) || 0).clamp(min, max);
        return values;
    };

    var paramAlwaysOnTop      = getParamBoolean(['AlwaysOnTop', '常に前面表示']);
    var paramStartupDevTool   = getParamString(['StartupDevTool', '開始時に起動'], true);
    var paramDevToolsPosition = getParamArrayNumber(['DevToolsPosition', 'デベロッパツール表示位置'], 0, 9999);
    var paramFuncKeyMinimize  = getParamString(['FuncKeyMinimize', '最小化切替キー']);
    var paramFuncKeyReload    = getParamString(['FuncKeyReload', 'リロードキー']);
    var paramFuncKeyMoveEdge  = getParamString(['FuncKeyMoveEdge', '画面の左寄せキー']);
    var paramFuncKeyRapidGame = getParamString(['FuncKeyRapidGame', '高速化切替キー']);
    var paramFuncKeyVictory   = getParamString(['FuncKeyVictory', '強制戦闘勝利キー']);
    var paramFuncKeyScript    = getParamString(['FuncKeyScript', 'スクリプト実行キー']);
    var paramFuncKeyFreeze    = getParamString(['FuncKeyFreeze', 'フリーズキー']);
    var paramShowFPS          = getParamString(['ShowFPS', 'FPS表示'], true);
    var paramCutTitle         = getParamBoolean(['CutTitle', 'タイトルカット']);
    var paramRapidStart       = getParamBoolean(['RapidStart', '高速開始']);
    var paramRapidSpeed       = getParamNumber(['RapidSpeed', '高速スピード'], 2, 16);
    var paramFakeMobile       = getParamBoolean(['FakeMobile', 'モバイル偽装']);
    var paramMenuBarVisible   = getParamBoolean(['MenuBarVisible', 'メニューバー表示']);
    var paramClickMenu        = getParamNumber(['ClickMenu', 'クリックメニュー'], -1);

    //=============================================================================
    // Utils
    //  モバイルモードを偽装します。
    //=============================================================================
    var _Utils_isMobileDevice = Utils.isMobileDevice;
    Utils.isMobileDevice      = function() {
        return _Utils_isMobileDevice.apply(this, arguments) || paramFakeMobile;
    };

    //=============================================================================
    // SceneManager
    //  状況に応じてデベロッパツールを自動制御します。
    //=============================================================================
    SceneManager.devCommands = [
        {code: 101, name: 'DEVツール最小化', key: paramFuncKeyMinimize},
        {code: 102, name: '画面左寄せ', key: paramFuncKeyMoveEdge},
        {code: 103, name: 'リロード', key: paramFuncKeyReload},
        {code: 104, name: '高速モード切替', key: paramFuncKeyRapidGame},
        {code: 105, name: '戦闘強制勝利', key: paramFuncKeyVictory},
        {code: 106, name: '任意スクリプト実行', key: paramFuncKeyScript},
        {code: 107, name: '画面フリーズ', key: paramFuncKeyFreeze}
    ];

    var _SceneManager_initialize = SceneManager.initialize;
    SceneManager.initialize      = function() {
        _SceneManager_initialize.apply(this, arguments);
        this._nwJsGui = new Controller_NwJs();
        this._freeze  = false;
        Graphics.setFPSMeter(paramShowFPS);
    };

    SceneManager.getNwJs = function() {
        return this._nwJsGui;
    };

    SceneManager.toggleFreeze = function() {
        Input.clear();
        this._freeze = !this._freeze;
    };

    var _SceneManager_catchException = SceneManager.catchException;
    SceneManager.catchException      = function(e) {
        this._nwJsGui.showDevTools(false);
        _SceneManager_catchException.apply(this, arguments);
    };

    var _SceneManager_onError = SceneManager.onError;
    SceneManager.onError      = function(e) {
        this._nwJsGui.showDevTools(false);
        _SceneManager_onError.apply(this, arguments);
    };

    var _SceneManager_onKeyDown = SceneManager.onKeyDown;
    SceneManager.onKeyDown      = function(event) {
        _SceneManager_onKeyDown.apply(this, arguments);
        this.onKeyDownForDevToolManage(event);
    };

    SceneManager.onKeyDownForDevToolManage = function(event) {
        var commandCode = null;
        this.devCommands.some(function(commandInfo) {
            if (Input.functionReverseMapper[commandInfo.key] === event.keyCode) {
                commandCode = commandInfo.code;
                return true;
            }
            return false;
        });
        if (commandCode) this.executeDevCommand(commandCode, event);
    };

    SceneManager.executeDevCommand = function(code, event) {
        var command = this['executeDevCommand' + code];
        if (command) command.call(SceneManager, event);
    };

    SceneManager.executeDevCommand101 = function(event) {
        if (event && event.ctrlKey) {
            this._nwJsGui.closeDevTools();
        } else {
            this._nwJsGui.toggleDevTools();
        }
    };

    SceneManager.executeDevCommand102 = function() {
        this._nwJsGui.moveEdge();
    };

    SceneManager.executeDevCommand103 = function() {
        location.reload();
    };

    SceneManager.executeDevCommand104 = function() {
        this.toggleRapid();
    };

    SceneManager.executeDevCommand105 = function() {
        BattleManager.forceVictory();
    };

    SceneManager.executeDevCommand106 = function() {
        this.showScriptDialog();
    };

    SceneManager.executeDevCommand107 = function() {
        this.toggleFreeze();
    };

    SceneManager.originalTitle = null;
    SceneManager._rapidGame    = false;

    SceneManager.isRapid = function() {
        return SceneManager._rapidGame;
    };

    SceneManager.toggleRapid = function() {
        this._rapidGame = !this._rapidGame;
        if (!this.originalTitle) this.originalTitle = document.title;
        var bgm = AudioManager.saveBgm();
        AudioManager.playBgm(bgm, bgm.pos);
        document.title = this.originalTitle + (this.isRapid() ? ' [!!!Rapid!!!] * ' + paramRapidSpeed : '');
    };

    SceneManager.isCurrentScene = function(sceneClass) {
        return this._scene && this._scene.constructor === sceneClass;
    };

    SceneManager.showScriptDialog = function() {
        var scriptString = window.prompt('実行したいスクリプトを入力してください。', this._nwJsGui.readClipboard());
        if (scriptString !== null && scriptString !== '') {
            this._nwJsGui.showDevTools();
            this._nwJsGui.writeClipboard(scriptString);
            try {
                var result = eval(scriptString);
                SoundManager.playOk();
                console.log('Execute Script : ' + scriptString);
                console.log('Execute Result : ' + result);
            } catch (e) {
                SoundManager.playBuzzer();
                console.log('Error Script : ' + scriptString);
                console.error(e.stack);
            }
        }
    };

    var _SceneManager_initNwjs = SceneManager.initNwjs;
    SceneManager.initNwjs      = function() {
        _SceneManager_initNwjs.apply(this, arguments);
        if (paramMenuBarVisible) {
            var gui = require('nw.gui');
            var win = gui.Window.get();
            if (!win.menu) {
                win.y -= 20;
                win.height += 20;
            }
            win.menu = new gui.Menu({type: 'menubar'});
        }
    };

    var _SceneManager_updateScene = SceneManager.updateScene;
    SceneManager.updateScene      = function() {
        if (this._freeze) return;
        _SceneManager_updateScene.apply(this, arguments);
    };

    //=============================================================================
    // BattleManager
    //  強制勝利を追加定義します。
    //=============================================================================
    BattleManager.forceVictory = function() {
        if (SceneManager.isCurrentScene(Scene_Battle) && !this.isBattleAlreadyEnd()) {
            $gameTroop.members().forEach(function(enemy) {
                enemy.addNewState(enemy.deathStateId());
            });
            this.processVictory();
        }
    };

    BattleManager.isBattleAlreadyEnd = function() {
        return this._phase === 'battleEnd';
    };

    //=============================================================================
    // AudioManager
    //  高速化実行時にBGMのピッチを強制的に最大にします。
    //=============================================================================
    var _AudioManager_playBgm = AudioManager.playBgm;
    AudioManager.playBgm      = function(bgm, pos) {
        var originalPitch = bgm.pitch;
        if (SceneManager.isRapid()) arguments[0].pitch = 150;
        _AudioManager_playBgm.apply(this, arguments);
        this._currentBgm.pitch = originalPitch;
    };

    //=============================================================================
    // DataManager
    //  セーブデータのエンコード・デコードを実施します。
    //=============================================================================
    DataManager.decodeSaveGame = function(savefileId) {
        if (this.isThisGameFile(savefileId)) {
            var json = StorageManager.load(savefileId);
            StorageManager.saveToLocalFileJson(savefileId, json);
        } else {
            throw new Error('有効なセーブファイルが見付かりません。');
        }
    };

    DataManager.encodeSaveGame = function(savefileId) {
        var json = StorageManager.loadFromLocalFileJson(savefileId);
        if (json) {
            StorageManager.save(savefileId, json);
        } else {
            throw new Error('有効なセーブファイルが見付かりません。');
        }
    };

    //=============================================================================
    // StorageManager
    //  jsonセーブファイルの読み込みと書き込みを行います。
    //=============================================================================
    StorageManager.saveToLocalFileJson = function(savefileId, json) {
        var fs       = require('fs');
        var dirPath  = this.localFileDirectoryPath();
        var filePath = dirPath + 'file%1.json'.format(savefileId);
        if (!fs.existsSync(dirPath)) {
            fs.mkdirSync(dirPath);
        }
        fs.writeFileSync(filePath, json);
    };

    StorageManager.loadFromLocalFileJson = function(savefileId) {
        var json     = null;
        var fs       = require('fs');
        var filePath = this.localFileDirectoryPath() + 'file%1.json'.format(savefileId);
        if (fs.existsSync(filePath)) {
            json = fs.readFileSync(filePath, {encoding: 'utf8'});
        }
        return json;
    };

    //=============================================================================
    // Input
    //  alertを再定義してコンソール出力にします。
    //=============================================================================
    var _Input_wrapNwjsAlert = Input._wrapNwjsAlert;
    Input._wrapNwjsAlert     = function() {
        _Input_wrapNwjsAlert.apply(this, arguments);
        var _window_prompt = window.prompt;
        window.prompt      = function(value, defaultValue) {
            return SceneManager.getNwJs().prompt(value, defaultValue, _window_prompt);
        };
        window.alert       = function(value) {
            console.log(value);
            SceneManager.getNwJs().showDevTools();
        };
    };

    Input.functionReverseMapper = {
        F1 : 112,
        F2 : 113,
        F3 : 114,
        F4 : 115,
        F5 : 116,
        F6 : 117,
        F7 : 118,
        F8 : 119,
        F9 : 120,
        F10: 121,
        F11: 122,
        F12: 123
    };

    //=============================================================================
    // Graphics
    //  FPSの表示を設定します。
    //=============================================================================
    Graphics.setFPSMeter = function(type) {
        switch (type) {
            case 'FPS':
                this.hideFps();
                this._switchFPSMeter();
                break;
            case 'MS':
                this.hideFps();
                this._switchFPSMeter();
                this._switchFPSMeter();
                break;
        }
    };

    //=============================================================================
    // Scene_Base
    //  マップの高速化を提供します。
    //=============================================================================

    var _Scene_Base_fadeSpeed      = Scene_Base.prototype.fadeSpeed;
    Scene_Base.prototype.fadeSpeed = function() {
        return SceneManager.isRapid() ? 1 : _Scene_Base_fadeSpeed.apply(this, arguments);
    };

    var _Scene_Base_startFadeIn      = Scene_Base.prototype.startFadeIn;
    Scene_Base.prototype.startFadeIn = function(duration, white) {
        if (SceneManager.isRapid()) arguments[0] = 1;
        _Scene_Base_startFadeIn.apply(this, arguments);
    };

    var _Scene_Base_startFadeOut      = Scene_Base.prototype.startFadeOut;
    Scene_Base.prototype.startFadeOut = function(duration, white) {
        if (SceneManager.isRapid()) arguments[0] = 1;
        _Scene_Base_startFadeOut.apply(this, arguments);
    };

    //=============================================================================
    // Scene_Boot
    //  タイトル画面をとばしてマップ画面に遷移します。
    //=============================================================================
    var _Scene_Boot_start      = Scene_Boot.prototype.start;
    Scene_Boot.prototype.start = function() {
        _Scene_Boot_start.apply(this, arguments);
        if (paramRapidStart) SceneManager.toggleRapid();
        if (paramCutTitle && !Utils.isOptionValid('btest') && !Utils.isOptionValid('etest')) {
            return this.goToLatestContinue() || this.goToNewGame();
        }
    };

    Scene_Boot.prototype.goToNewGame = function() {
        DataManager.setupNewGame();
        SceneManager.goto(Scene_Map);
    };

    Scene_Boot.prototype.goToLatestContinue = function() {
        if (DataManager.isAnySavefileExists()) {
            if (DataManager.loadGame(DataManager.latestSavefileId())) {
                this.reloadMapIfUpdated();
                SceneManager.goto(Scene_Map);
                $gameSystem.onAfterLoad();
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    };
    Scene_Boot.prototype.reloadMapIfUpdated = Scene_Load.prototype.reloadMapIfUpdated;

    //=============================================================================
    // Scene_Map
    //  オンフォーカス時、ゲームが再保存されていればリロードする
    //=============================================================================
    var _Scene_Map_create      = Scene_Map.prototype.create;
    Scene_Map.prototype.create = function() {
        _Scene_Map_create.apply(this, arguments);
        SceneManager.getNwJs().setOnFocus(false);
    };

    var _Scene_Map_update      = Scene_Map.prototype.update;
    Scene_Map.prototype.update = function() {
        this.updateMapReload();
        if (this._dataSystemLoading) {
            if (DataManager.isDatabaseLoaded()) {
                this._dataSystemLoading = false;
                if (this._preVersionId !== $dataSystem.versionId) {
                    $gamePlayer.reserveTransfer(
                        $gameMap.mapId(), $gamePlayer.x, $gamePlayer.y, $gamePlayer.direction(), 2);
                    $gamePlayer._needsMapReload = true;
                }
            } else {
                return;
            }
        }
        _Scene_Map_update.apply(this, arguments);
    };

    Scene_Map.prototype.updateMapReload = function() {
        if (SceneManager.getNwJs().isOnFocus() && $gamePlayer.canMove()) {
            SceneManager.getNwJs().setOnFocus(false);
            for (var i = 0; i < DataManager._databaseFiles.length; i++) {
                var name = DataManager._databaseFiles.name;
                if (name === '$dataSystem') {
                    this._preVersionId = $dataSystem.versionId;
                    DataManager.loadDataFile(name, DataManager._databaseFiles.src);
                    this._dataSystemLoading = true;
                }
            }
        }
    };

    var _Scene_Map_isFastForward      = Scene_Map.prototype.isFastForward;
    Scene_Map.prototype.isFastForward = function() {
        return _Scene_Map_isFastForward.apply(this, arguments) || SceneManager.isRapid();
    };

    var _Scene_Map_updateMainMultiply      = Scene_Map.prototype.updateMainMultiply;
    Scene_Map.prototype.updateMainMultiply = function() {
        _Scene_Map_updateMainMultiply.apply(this, arguments);
        if (this.isFastForward()) {
            for (var i = 2; i <= paramRapidSpeed; i++) {
                this.updateMain();
            }
        }
    };

    //=============================================================================
    // Window_Base
    //  ウィンドウの高速開閉を提供します。
    //=============================================================================
    var _Window_Base_updateOpen      = Window_Base.prototype.updateOpen;
    Window_Base.prototype.updateOpen = function() {
        if (SceneManager.isRapid() && this._opening) this.openness = 255;
        _Window_Base_updateOpen.apply(this, arguments);
    };

    var _Window_Base_updateClose      = Window_Base.prototype.updateClose;
    Window_Base.prototype.updateClose = function() {
        if (SceneManager.isRapid() && this._closing) this.openness = 0;
        _Window_Base_updateClose.apply(this, arguments);
    };

    //=============================================================================
    // Window_Message
    //  メッセージの高速化を提供します。
    //=============================================================================
    var _Window_Message_isTriggered      = Window_Message.prototype.isTriggered;
    Window_Message.prototype.isTriggered = function() {
        return _Window_Message_isTriggered.apply(this, arguments) || SceneManager.isRapid();
    };

    var _Window_Message_startPause      = Window_Message.prototype.startPause;
    Window_Message.prototype.startPause = function() {
        _Window_Message_startPause.apply(this, arguments);
        if (SceneManager.isRapid()) this.startWait(1);
    };

    //=============================================================================
    // Controller_NwJs
    //  Nw.jsのAPI呼び出しを管理します。
    //=============================================================================
    function Controller_NwJs() {
        this.initialize.apply(this, arguments);
    }

    Controller_NwJs.prototype.constructor = Controller_NwJs;

    Controller_NwJs.prototype.initialize = function() {
        this._nwGui           = require('nw.gui');
        this._devTool         = null;
        this._devToolMinimize = false;
        this._onFocus         = false;
        this._menuBar         = this.getWindow().menu;
        this._menuClick       = null;
        this.initSetting();
    };

    Controller_NwJs.prototype.initSetting = function() {
        if (paramMenuBarVisible) this.addMenuItem(this._menuBar);
        this.initClickMenu();
        this.addEventListener();
        if (paramAlwaysOnTop) {
            this.setAlwaysOnTop(true);
        }
        switch (paramStartupDevTool) {
            case 'ON':
            case 'MINIMIZE':
                if (!DataManager.isEventTest()) this.showDevTools();
                break;
        }
        this.setMenuBar(this._menuBar);
    };

    Controller_NwJs.prototype.initClickMenu = function() {
        this._menuClick = new this._nwGui.Menu();
        this.addMenuItem(this._menuClick);
    };

    Controller_NwJs.prototype.setMenuBar = function(menu) {
        this.getWindow().menu = menu;
    };

    Controller_NwJs.prototype.addMenuItem = function(menu) {
        var gui = this._nwGui;
        this.sortDevCommands().forEach(function(commandInfo) {
            var menuItem   = new gui.MenuItem(
                {label: commandInfo.name + (commandInfo.key ? '(' + commandInfo.key + ')' : '')}
            );
            menuItem.click = function() {
                SceneManager.executeDevCommand(commandInfo.code);
            };
            menu.append(menuItem);
        });
    };

    Controller_NwJs.prototype.sortDevCommands = function() {
        return SceneManager.devCommands.sort(function(a, b) {
            if (a.key && b.key) {
                return Input.functionReverseMapper[a.key] - Input.functionReverseMapper[b.key];
            } else if (a.key || b.key) {
                return a.key ? -1 : 1;
            } else {
                return a.code - b.code;
            }
        });
    };

    Controller_NwJs.prototype.setOnFocus = function(value) {
        this._onFocus = value;
    };

    Controller_NwJs.prototype.isOnFocus = function() {
        return this._onFocus;
    };

    Controller_NwJs.prototype.addEventListener = function() {
        var currentWin = this.getWindow();
        currentWin.removeAllListeners();
        currentWin.on('focus', function() {
            this._onFocus = true;
        }.bind(this));
        document.addEventListener('mousedown', function(event) {
            if (event.button === paramClickMenu) {
                this._menuClick.popup(event.pageX, event.pageY);
            }
        }.bind(this));
    };

    Controller_NwJs.prototype.getWindow = function() {
        return this._nwGui.Window.get();
    };

    Controller_NwJs.prototype.getClipboard = function() {
        return this._nwGui.Clipboard.get();
    };

    Controller_NwJs.prototype.setAlwaysOnTop = function(value) {
        this.getWindow().setAlwaysOnTop(value);
    };

    Controller_NwJs.prototype.prompt = function(value, defaultValue, aliasPrompt) {
        var win = this.getWindow();
        if (paramAlwaysOnTop) {
            this._devTool.setAlwaysOnTop(false);
            win.setAlwaysOnTop(false);
        }
        var result = aliasPrompt.call(window, value, defaultValue);
        if (paramAlwaysOnTop) {
            this._devTool.setAlwaysOnTop(true);
            win.setAlwaysOnTop(true);
        }
        win.focus();
        Input.clear();
        return result;
    };

    Controller_NwJs.prototype.showDevTools = function() {
        if (!this.getWindow().isDevToolsOpen() || !this._devTool) {
            var devTool = this.getWindow().showDevTools();
            if (paramDevToolsPosition && paramDevToolsPosition.length >= 4) {
                devTool.moveTo(paramDevToolsPosition[0], paramDevToolsPosition[1]);
                devTool.resizeTo(paramDevToolsPosition[2], paramDevToolsPosition[3]);
            } else {
                devTool.moveTo(0, 0);
                devTool.resizeTo(window.screenX + window.outerWidth, window.screenY + window.outerHeight);
            }
            if (!this._devTool) {
                this.addEventListenerDevTools(devTool);
                this._devTool = devTool;
            }
        } else {
            this._devTool.restore();
        }
        this.focus();
    };

    Controller_NwJs.prototype.addEventListenerDevTools = function(devTool) {
        devTool.removeAllListeners();
        devTool.on('minimize', function() {
            this._devToolMinimize = true;
            this.focus();
        }.bind(this));
        devTool.on('restore', function() {
            this._devToolMinimize = false;
            this.focus();
        }.bind(this));
        devTool.on('loaded', function() {
            this._devTool.setAlwaysOnTop(paramAlwaysOnTop);
            this.setAlwaysOnTop(paramAlwaysOnTop);
            if (paramStartupDevTool === 'MINIMIZE') this._devTool.minimize();
        }.bind(this));
        devTool.on('closed', function() {
            this.getWindow().close();
        }.bind(this));
    };

    Controller_NwJs.prototype.toggleDevTools = function() {
        if (this._devTool) {
            this._devToolMinimize ? this._devTool.restore() : this._devTool.minimize();
            this.focus();
        } else {
            this.showDevTools(false);
        }
    };

    Controller_NwJs.prototype.closeDevTools = function() {
        if (this.getWindow().isDevToolsOpen()) this.getWindow().closeDevTools();
    };

    Controller_NwJs.prototype.moveEdge = function() {
        this.getWindow().moveTo(0, 0);
        if (this.getWindow().isDevToolsOpen()) this._devTool.minimize();
    };

    Controller_NwJs.prototype.focus = function() {
        this.getWindow().focus();
    };

    Controller_NwJs.prototype.readClipboard = function(mode) {
        if (!mode) mode = 'text';
        return this.getClipboard().get(mode);
    };

    Controller_NwJs.prototype.writeClipboard = function(copyValue, mode) {
        if (!mode) mode = 'text';
        if (mode === 'text') copyValue = copyValue.toString();
        this.getClipboard().set(copyValue, mode);
    };
})();
[/pre]


    デベロッパツールの自動立ち上げ機能
    エラー発生時のデベロッパツールアクティブ化機能
    ゲーム画面を常に前面に表示する機能
    VX Aceの後方互換機能
    alertの仕様変更機能
    テストプレー中のマップ自動更新機能
    FPS表示の自動表示機能
    タイトル画面のカット機能
    ゲームスピード高速化機能
    強制的に敵を全滅させる機能
    スクリプトのその場実行機能
    モバイル実行の偽装機能
    ゲーム画面を一時的にフリーズする機能
    セーブデータのエンコード・デコード機能

285175.jpg

评分

参与人数 1星屑 +20 收起 理由
piaoy + 20 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
121
在线时间
66 小时
注册时间
2011-10-8
回帖
15
发表于 2016-6-5 12:59:33 | 显示全部楼层
游戏运行中直接F8不行吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部