设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 4278|回复: 7
打印 上一主题 下一主题

[已经过期] JS脚本问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
帖子
345
跳转到指定楼层
1
发表于 2017-3-8 14:56:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

JAVASCRIPT 代码复制
  1. function Window_Debug()
  2. {
  3.         this.initialize.apply(this, arguments);
  4. }
  5.  
  6. Window_Debug.prototype = Object.create(Window_Selectable.prototype);
  7.  
  8. Window_Debug.prototype.initialize = function(x, y, width, height) {
  9.     Window_Selectable.prototype.initialize.call(this, x, y, width, height);   // 调用基类 Window_Selectable initialize
  10. }
  11.  
  12. // 覆盖 SceneMap
  13. var pfnOldSceneMapCreate = Scene_Map.prototype.create;
  14.  
  15. Scene_Map.prototype.create = function() {
  16.     pfnOldSceneMapCreate.call(this);
  17.         this.debugWnd = new Window_Debug(0, 0, 400, 200);
  18.     // this.addWindow(this.debugWnd);
  19. };
  20.  
  21. var pfnOldSceneMaponMapLoaded = Scene_Map.prototype.onMapLoaded;
  22. Scene_Map.prototype.onMapLoaded = function() {
  23.     pfnOldSceneMaponMapLoaded.call(this);
  24.         this.addWindow(this.debugWnd);
  25.         alert(this.debugWnd);
  26.         this.ClearDebug();
  27. };
  28.  
  29. Scene_Map.prototype.DbgPrint = function(str, row) {
  30.         alert(this.debugWnd);
  31.         this.debugWnd.drawText(str, 0, row * 40, 400, 'left');
  32. };
  33.  
  34. Scene_Map.prototype.ClearDebug = function(){
  35.         this.debugWnd.contents.clear();
  36.         this.debugWnd.drawText("debug", 0, 0, 400, 'left');
  37. }
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%

Lv1.梦旅人

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
帖子
345
2
 楼主| 发表于 2017-3-8 15:13:03 | 只看该作者
本人成功解决
然而事件中 Secen_Map 并非全局静态类。所以会出现 undefined
事件中需要这么调用:
SceneManager._scene.DbgPrint("message", 1);
// 不知道 JS 是否存在C++ 一样的宏。
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
620
在线时间
158 小时
注册时间
2009-7-21
帖子
60

开拓者

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

4
发表于 2017-3-8 17:35:58 | 只看该作者
所以为啥好好的 console 和 devtool 你不用 要自己折腾
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
帖子
345
6
 楼主| 发表于 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%
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
220
在线时间
161 小时
注册时间
2015-11-23
帖子
92
7
发表于 2017-3-9 08:53:34 | 只看该作者
kula1900 发表于 2017-3-8 17:42
console??不会呀....

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 10:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表