ekmomo 发表于 2018-3-10 23:41 十分感谢,以后可能也多有叨饶,希望您也能给予我些指点。 |
本帖最后由 ekmomo 于 2018-3-10 23:42 编辑 第一个问题,本质上讲没区别,都是把一个对象存在一个地方以备调用。但仔细观察不难发现addWindow是Scene_item调用的(粗略的讲,实际上是此原型构造的对象调用的),它用以把窗口添加到场景中去。而setHelpWindow方法是让道具列表窗口“认识”帮助窗口,这样道具列表自己就能和帮助窗口交流而不需要通过场景。 第二个问题,this._xxxx是this的一个属性(类似于一个变量),这里这个方法就是把"Item"存进道具列表窗口的一个属性(Window_ItemList._categrory)里,以便道具列表筛选道具。千万注意this在不同地方指代不同对象。 第三个问题比较复杂,delete 操作符用以删除对象的一个属性或方法,当原型不存在一个方法而该方法又被调用的话,对象会去它的原型链上找。因为1.6版本加入了对分类窗口的刷新,这个是我们不需要的,所以把该方法删除。 另,我现在在火车上确实不方便,回答的不够细的地方可以等周二回来再开个帖子解释。 |
感谢。运行十分完美,私人仍有一些小问题: ①setHelpWindow和addWindow的作用有什么区别,可以不要其中一个吗? ②this._itemWindow.setCategory("item")这个函数的功能怎么解释? ③delete Scene_Item.prototype.update;这句话有何作用? |
仅供参考
|
ekmomo 发表于 2018-3-10 18:32 刚刚进行了尝试,发现在创建itemWindow里加入了
之后可以无障碍运行了,但是又伴随着一个新问题,现在捡取物品后打开物品栏不显示物品...... 不知道又是什么原因,求教前辈。 |
ekmomo 发表于 2018-3-10 18:32 感谢关于include的告知。 我尝试将您的这句this._itemWindow.setCategory("item")放在createItemWindow下,但不知道是由于我使用错误还是方法不行,导致我测试结果没有什么变化。如果您方便,能否帮我看看我这拙劣的代码是否有本质问题;烦扰您的话,也请谅解。无论如何,对您之前能回复我一再感谢。
|
Window_ItemList的makeItemList用以创建命令列表,而makeItemList依赖的includes方法(用于筛选不同分类的道具)依赖于Window_ItemList的_category属性。你在Scene创建_itemWindow的时候执行下this._itemWindow.setCategory("item")试试(不等同于this._itemWindow._category = "item") |
ekmomo 发表于 2018-3-10 17:50 谢谢。
您所指的是否是这个?但是我对这个函数有什么作用理解不了,能否请您解释一下? 还有,既然要修改setCategory,是否也就是说仍要创建一个categoryWindow,这样我怎么解决去掉categoryWindow这个问题呢? 我现在是在对自己写功能慢慢摸索,对js理解尚且有些吃力,烦您谅解。 |
本帖最后由 ekmomo 于 2018-3-10 17:54 编辑 要setCategory。或者自己makeItemList。 机理类似_helpWindow.在createItemWindow时this._categoryWindow.setItemWindow(this._itemWindow);; 在_categoryWindow刷新时_categoryWindow._itemWindow.setCategory(this.currentSymbol()); |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-16 06:20
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.