Project1

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

作者: 文雅夕露    时间: 2019-4-14 17:43
标题: 请教该脚本如何获取物品的列表?
上附件
(, 下载次数: 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方法也是的,看看是不是这里传了一个整数作为参数。

果然,看来你对这些方法的使用都错了,仔细检查一下吧:
[pre lang="ruby"]  #--------------------------------------------------------------------------
  # * 物品數量
  #--------------------------------------------------------------------------
  def item_num
    return $game_party.item_number(@id)
  end

  #--------------------------------------------------------------------------
  # * 得到
  #--------------------------------------------------------------------------
  def gain
    return $game_party.gain_item(@id, 1)
  end[/pre]
作者: 文雅夕露    时间: 2019-4-14 19:43
guoxiaomi 发表于 2019-4-14 19:26
初步看了看,想吐槽的地方是程序封装的过头了,鉴定不就是:
1. 选中物品时显示部分说明文字
2. 按下确认 ...

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




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