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

Project1

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

[已经解决] 请js语言的老师进来看一下

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1001
在线时间
212 小时
注册时间
2011-11-23
帖子
109
跳转到指定楼层
1
发表于 2016-6-25 13:29:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
前段时间提问时获得了一段JS脚本,但是不知道是没空登录论坛还是什么原因,脚本发布者没有回复更多我提问的一些小细节。
这段脚本如下,我想问下,这个“ ◆ 插入自定义参数 (新建)”地方的变量应该是在哪个位置进行声明?,我在尝试放置了几个可能的位置后提示我“MLC.CREATE is undefined”。大概的意思好像是未赋值,是我使用方法不对吗?

JAVASCRIPT 代码复制
  1. /*
  2. ===================================================================================================================
  3.  ◆ 插入自定义参数 (新建)
  4. ===================================================================================================================
  5. */
  6. var MLC          =  {};                                             /* 创建变量 */   
  7. MLC.CREATE       =  Scene_Menu.prototype.create;                    /* 代入函数 */
  8. MLC.CCW          =  Scene_Menu.prototype.createCommandWindow;       /* 代入函数 */
  9. MLC.LoadName     =  '读取'                                          /* 创建变量 */
  10.  
  11. /*
  12. ===================================================================================================================
  13.  ◆ 在菜单场景内创建窗口 (重写)  <来源:rpg_scenes.js —— Scene_Menu >
  14. ===================================================================================================================
  15. */
  16. Scene_Menu.prototype.create = function() {
  17.         MLC.CREATE.call(this);                   /* 调入原函数(Scene_Menu.prototype.create) */
  18.         this._commandWindow.visible =  true;     /* 设置选项窗口的可视状态 */
  19.         this._goldWindow.visible    =  false;    /* 设置金币窗口的可视状态 */
  20.         this._statusWindow.visible  =  false;    /* 设置角色窗口的可视状态 */
  21. };
  22.  
  23. /*
  24. ===================================================================================================================
  25.  ◆ 制作指令选单 (重写)  <来源:rpg_windows.js —— Window_MenuCommand >
  26. ===================================================================================================================
  27. */
  28. Window_MenuCommand.prototype.makeCommandList = function() {        /* 以下排序与菜单场景的排版顺序同步 */
  29.     this.addMainCommands();                                        /* 原文 */
  30.     this.addFormationCommand();                                    /* 原文 */
  31.     this.addOriginalCommands();                                    /* 原文 */  
  32.     this.addOptionsCommand();                                      /* 原文 */   
  33.     this.addSaveCommand();                                         /* 原文 */
  34.         this.addLoadCommand(MLC.LoadName);                             /* 新增 '读取' 指令项 */
  35.     this.addGameEndCommand();                                      /* 原文 */   
  36. };
  37.  
  38. /*
  39. ===================================================================================================================
  40.  ◆ 在菜单场景内增加'读取'指令项 (新建)  <衔接位置:rpg_windows.js —— Window_MenuCommand >
  41. ===================================================================================================================
  42. */
  43. Window_MenuCommand.prototype.addLoadCommand = function(name) {
  44.     this.addCommand(name, 'load', true);                        /* 增加指令 */   
  45. };
  46.  
  47. /*
  48. ===================================================================================================================
  49.  ◆ 绑定菜单的'读取'事件 (新建)  <衔接位置:rpg_scenes.js —— Scene_Menu >
  50. ===================================================================================================================
  51. */
  52. Scene_Menu.prototype.createCommandWindow = function() {
  53.         MLC.CCW.call(this);                                                   /* 调入 */
  54.         this._commandWindow.setHandler('load', this.commandLoad.bind(this));  /* 绑定 */
  55. };
  56.  
  57. /*
  58. ===================================================================================================================
  59.  ◆ 执行'读取'命令 (新建)  <衔接位置:rpg_scenes.js —— Scene_Menu >
  60. ===================================================================================================================
  61. */
  62. Scene_Menu.prototype.commandLoad = function(){  
  63.         Scene_Title.prototype.commandContinue.call(this);        /* 调用标题画面的读档方法 */
  64. };

Lv3.寻梦者

梦石
0
星屑
1232
在线时间
1017 小时
注册时间
2011-4-30
帖子
1516
2
发表于 2016-6-27 20:46:14 | 只看该作者
然而不懂你的问题是什么,
看起来这是一个菜单里添加 读取 选项 的插件

MLC.LoadName     =  '读取'                                          /* 创建变量 */
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
3
发表于 2016-6-27 21:06:01 | 只看该作者
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1001
在线时间
212 小时
注册时间
2011-11-23
帖子
109
4
 楼主| 发表于 2016-6-28 09:11:39 | 只看该作者
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

只是不知道这个新变量应该在何处创建,因为对js并不熟悉,所以在调试的时候总是提示什么MLC未赋值(未创建)或者“too much recursion”
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1001
在线时间
212 小时
注册时间
2011-11-23
帖子
109
5
 楼主| 发表于 2016-6-28 09:15:53 | 只看该作者
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

不知道老师能否将已经写好的两个文件发到[email protected]邮箱里面,抱歉变成一个伸手党,只是因为不会js编程(不熟悉其操作),这段代码又急着用,已经快研究了一周了也总是出现错误,我想看看这些代码是如何写的,我是否有错误的地方
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1001
在线时间
212 小时
注册时间
2011-11-23
帖子
109
6
 楼主| 发表于 2016-6-28 09:49:56 | 只看该作者
汪汪 发表于 2016-6-27 20:46
然而不懂你的问题是什么,
看起来这是一个菜单里添加 读取 选项 的插件

具体老师可以看下这个帖子https://rpg.blue/thread-394258-1-1.html
我不知道这个MLC变量应该在具体哪个位置创建,还请老师指教
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
7
发表于 2016-6-28 13:05:22 | 只看该作者
我觉得你好像是方向错了,你是不是没用脚本插件加载啊?
这是脚本文件:http://pan.baidu.com/s/1jHVBKVk
把脚本放在你的项目文件夹下,这个位置

然后打开软件的工具里的插件管理,如图:

空白处右键添加新的脚本

设置成如图

运行效果如下
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2016-1-6
帖子
150
8
发表于 2016-6-28 13:07:56 | 只看该作者
正常情况下是不会有人问把声明放在哪个位置的,因为你发的代码本身就是一个完整的脚本代码,所以我估计你是完全不知道脚本插件加载这个功能,而是把这段代码插入到原始代码文件中去了,是吧?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

开拓者

9
发表于 2016-6-28 14:11:04 | 只看该作者
这个mlc就是干了以前RGSS时代的赋值别名的活,把Scene_Menu实例的create和createCommandWindow两个方法别名,然后在重新定义了一下

class Scene_Menu
  alias :mlc :create
  def create
  mlc
  ...
  end
end
所以这段脚本应该放在Scene_Menu定义之后实例之前
反正你只要丢进脚本加载器里就没啥问题『这个就和VA的main之上,其余脚本之下一样,一般那个位置有个说明就叫“插入脚本”』
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1001
在线时间
212 小时
注册时间
2011-11-23
帖子
109
10
 楼主| 发表于 2016-6-28 18:03:48 | 只看该作者
seedj13 发表于 2016-6-27 21:06
这段代码没毛病啊,保存成脚本文件运行后效果有效,也没有报错,你是不是保存脚本的文本格式不对 ...

不用了,多谢老师提醒,发现原来可以通过插件方式调用,我真是太笨了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 10:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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