查看: 4801|回复: 7

[已经过期] JS脚本问题

[复制链接]
梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
回帖
188
发表于 2017-3-8 14:56:06 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 kula1900 于 2017-3-8 15:13 编辑

事件中插入脚本 Scene_Map.prototype.DbgPrint("message", 1);
调用出现问题
如果不调用脚本
窗口会显示,人物也可以移动,会出现 debug 字样,可就是需要输出调试信息时报错。

[pre lang="javascript"]function Window_Debug()
{
        this.initialize.apply(this, arguments);
}

Window_Debug.prototype = Object.create(Window_Selectable.prototype);

Window_Debug.prototype.initialize = function(x, y, width, height) {
    Window_Selectable.prototype.initialize.call(this, x, y, width, height);   // 调用基类 Window_Selectable initialize
}

// 覆盖 SceneMap
var pfnOldSceneMapCreate = Scene_Map.prototype.create;

Scene_Map.prototype.create = function() {
    pfnOldSceneMapCreate.call(this);
        this.debugWnd = new Window_Debug(0, 0, 400, 200);
    // this.addWindow(this.debugWnd);
};

var pfnOldSceneMaponMapLoaded = Scene_Map.prototype.onMapLoaded;
Scene_Map.prototype.onMapLoaded = function() {
    pfnOldSceneMaponMapLoaded.call(this);
        this.addWindow(this.debugWnd);
        alert(this.debugWnd);
        this.ClearDebug();
};

Scene_Map.prototype.DbgPrint = function(str, row) {
        alert(this.debugWnd);
        this.debugWnd.drawText(str, 0, row * 40, 400, 'left');
};

Scene_Map.prototype.ClearDebug = function(){
        this.debugWnd.contents.clear();
        this.debugWnd.drawText("debug", 0, 0, 400, 'left');
}[/pre]
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
回帖
188
 楼主| 发表于 2017-3-8 15:13:03 | 显示全部楼层
本人成功解决
然而事件中 Secen_Map 并非全局静态类。所以会出现 undefined
事件中需要这么调用:
SceneManager._scene.DbgPrint("message", 1);
// 不知道 JS 是否存在C++ 一样的宏。
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
回复

使用道具 举报

梦石
0
星屑
630
在线时间
159 小时
注册时间
2009-7-21
回帖
55

开拓者

发表于 2017-3-8 17:06:11 | 显示全部楼层
哈哈,楼主这个问题我前两天也碰到过
问了无数人才解决,正好看到了就分享一下
在编辑器里面调用脚本函数时,不要加prototype这一段
加入这一段会导致你每次调用都是函数的初始状态,而并非当前状态
思路才是大脑
方法只是手脚
回复

使用道具 举报

梦石
0
星屑
4623
在线时间
1207 小时
注册时间
2016-4-7
回帖
944

开拓者

发表于 2017-3-8 17:35:58 | 显示全部楼层
所以为啥好好的 console 和 devtool 你不用 要自己折腾
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复

使用道具 举报

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
回帖
188
 楼主| 发表于 2017-3-8 17:42:00 | 显示全部楼层
console??不会呀....
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
回复

使用道具 举报

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
回帖
188
 楼主| 发表于 2017-3-8 17:42:20 | 显示全部楼层
shitake 发表于 2017-3-8 17:35
所以为啥好好的 console 和 devtool 你不用 要自己折腾

console??不会呀....

点评

https://github.com/nwjs/nw.js/wiki/Debugging-with-devtools  发表于 2017-3-8 18:57
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
回复

使用道具 举报

梦石
0
星屑
225
在线时间
162 小时
注册时间
2015-11-23
回帖
90
发表于 2017-3-9 08:53:34 | 显示全部楼层
kula1900 发表于 2017-3-8 17:42
console??不会呀....

console.log()
f8教做人
自天地未辟混沌未开时就已经开始装逼的神奇人物
MV的魔塔模板::托管在github上的游戏,可以直接运行
基于RPGMakerMV的JavaScript基础
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部