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

Project1

 找回密码
 注册会员
搜索

尝试制作另一套装备系统时遇到关於object=的报错

查看数: 1952 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-6-16 23:38

正文摘要:

事源是想要抄袭默认脚本的装备系统来制作另一套装备系统顺便了解一下默认脚本是如何运作的 靠着各种报错来一步步了解结果来到object=的报错就卡住了 翻找一星期了还是理不清Game_BaseItem和Game_Actor和Window_Equ ...

回复

草莓萝莉控上校 发表于 2018-11-23 21:44:38
草莓萝莉控上校 发表于 2018-11-23 10:42
嘛~虽然帮不上什么忙~但是来和小红报道一下哦~


一起學習哦~

只是這裏似乎不能夠討論H相關的內容吧~(小聲說)

点评

其实可以用点评呀。  发表于 2018-11-24 14:43
欸~被~被扣分了~因为新注册账号无法私信的说~不是故意的啦~  发表于 2018-11-23 22:57
与问题无关的讨论就不要在提问帖中回复了哦,下次请注意  发表于 2018-11-23 22:27

评分

参与人数 1星屑 -1 收起 理由
VIPArcher -1 ღ( ´・ᴗ・` ) 回复与问题无关 -1警告.

查看全部评分

草莓萝莉控上校 发表于 2018-11-23 10:42:41
嘛~虽然帮不上什么忙~但是来和小红报道一下哦~

点评

來一起學習的說 ^.<⌒☆  发表于 2018-11-23 19:56
百里_飞柳 发表于 2018-6-17 00:34:37
本帖最后由 百里_飞柳 于 2018-6-17 00:36 编辑

Game_BaseItem类只是一个对于$data_items $data_weapons等的一个封装,为了能够进行统一调用的容器类而已
如果你想将它们整合为使用 Game_BaseItem类的对象,可以在方法 .object = 赋值前加上
@equips[slot_id] = Game_BaseItem.new if @equips[slot_id].nil?
这样就先弄了一个空的容器类占位置

不过据我对于默认脚本的研究,@equips应该真的是单纯存的$data_weapons[id]或$data_armors[id],毕竟nil代表这里是空的没装备(在window里绘制时判定了这个nil)
比如 [ $data_weapons[1], nil, nil, $data_armors[1], $data_armors[2] ]

评分

参与人数 1+1 收起 理由
真紅樂章 + 1 我很赞同

查看全部评分

RaidenInfinity 发表于 2018-6-17 00:04:07
头痛医头,脚痛治脚:

请配着这个教程食用
https://rpg.blue/forum.php?mod=viewthread&tid=399513

undefined method XXX for YYY class
意思就是调用方法时(YYY类的实例.XXX方法),YYY类并没有定义XXX方法。
在这里,YYY是nil。就是空值。什么情况之下会出空值呢?
其中一个就是数组里并没有这个索引的数值。(例子:array长度3,但是你却尝试array[5])

请检查你的代码运行顺序,确保Game_Actor内force_change_equip方法的第一行
@equips[slot_id].object = item
从@equips提取出来的值不是nil(空值)。

也建议你在这种情况的时候加一个p(需要开启控制台/小黑窗)来检查数据。
例子:
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.       def force_change_equip(slot_id, item)
  3.         p @equips #<- 在控制台输出,检查数据
  4.         p slot_id #<- 检查参数
  5.         @equips[slot_id].object = item
  6.         release_unequippable_items(false)
  7.         refresh
  8.       end
  9.     end

上面的检查,如果确实slot_id比@equips的大小还大,你是需要对@equips数组下手了。

点评

p了一下確定無誤之後才發現原來犯了個低級錯誤 忘了要開新遊戲來讓裝備數組套用新模式的說…… Or2  发表于 2018-6-17 01:53

评分

参与人数 1+1 收起 理由
真紅樂章 + 1 认可答案

查看全部评分

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

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

GMT+8, 2025-7-17 16:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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