Project1

标题: 请教该脚本如何获取物品的列表? [打印本页]

作者: 文雅夕露    时间: 2019-4-14 17:43
标题: 请教该脚本如何获取物品的列表?
上附件
Project11.zip (260.5 KB, 下载次数: 94)
这个是我仿写的脚本
但遇到了问题,
无法获取列表的物品。
请前辈帮忙看看是哪里出现了问题?谢谢。
作者: guoxiaomi    时间: 2019-4-14 19:03
  1.       n = $game_party.item_number(id)
复制代码

这里item_number方法的参数不应该是整数,而是RPG::Item对象,参见此方法的实现
作者: 文雅夕露    时间: 2019-4-14 19:13
guoxiaomi 发表于 2019-4-14 19:03
这里item_number方法的参数不应该是整数,而是RPG::Item对象,参见此方法的实现 ...

谢谢前辈,倒是想到可以重新建一个item_number的方法。
不过好像获取到了,实际运行时无法得到物品和减少物品?
不知还有哪里的方法出现了问题。
作者: guoxiaomi    时间: 2019-4-14 19:26
本帖最后由 guoxiaomi 于 2019-4-14 19:34 编辑
文雅夕露 发表于 2019-4-14 19:13
谢谢前辈,倒是想到可以重新建一个item_number的方法。
不过好像获取到了,实际运行时无法得到物品和减少 ...


初步看了看,想吐槽的地方是程序封装的过头了,鉴定不就是:
1. 选中物品时显示部分说明文字
2. 按下确认,丢失选中物品,随机获得一个物品
不需要搞出class Item和class Appraise这两个类吧?这样一层层的封装下来确实非常难调试。

此外RMVX里的很多方法都是接受RPG::Item对象而不是id,包括gain_item方法也是的,看看是不是这里传了一个整数作为参数。

果然,看来你对这些方法的使用都错了,仔细检查一下吧:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # * 物品數量
  3.   #--------------------------------------------------------------------------
  4.   def item_num
  5.     return $game_party.item_number(@id)
  6.   end
  7.  
  8.   #--------------------------------------------------------------------------
  9.   # * 得到
  10.   #--------------------------------------------------------------------------
  11.   def gain
  12.     return $game_party.gain_item(@id, 1)
  13.   end

作者: 文雅夕露    时间: 2019-4-14 19:43
guoxiaomi 发表于 2019-4-14 19:26
初步看了看,想吐槽的地方是程序封装的过头了,鉴定不就是:
1. 选中物品时显示部分说明文字
2. 按下确认 ...

噢噢,好像又粗心了。
不过关于封装还不懂,意思是直接写入同一类里封存就行了?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1