NoMethodError 发生,nil:NilClass 的未定义方法

NoMethodError Occurred, undefined method for nil:NilClass

首先,我知道它已经发布了,我已经看到了大部分的问题帖子,但我仍然不明白它是如何工作的。

所以我得到了错误:

Script 'Terrain Tag Detection ~' line 115: NoMethodError occurred.

undefined method '[]' for nil:NilClass

我的 'Terrain Tag Detection ~' 脚本如下所示:http://pastebin.com/PUypTwJs(无法正确粘贴代码,是的,它是关于口袋妖怪的)。

这意味着您的 @map = WildPokemon.fetch($game_map.map_id) 方法没有 return 和值,您想要访问 @map 变量。

您可以像下面这样在您的代码中添加检查:

@map = WildPokemon.fetch($game_map.map_id)
if @map.present?
    @enemy = @map[0][rand(@map[0].size)]
    @level = @map[1][rand(@map[1].size)]
end