Project1
标题:
Game_Actors报错请教!
[打印本页]
作者:
阮声悠悠
时间:
2018-8-2 18:15
标题:
Game_Actors报错请教!
本帖最后由 阮声悠悠 于 2018-8-2 19:13 编辑
队伍第一个角色使用普通攻击有概率触发这个报错,有点操蛋!
触发的点在显示伤害之前
不方便传脚本上来,所以想请教下大神,这可能是什么原因导致的
告诉我debug的思路。很感谢哈
(, 下载次数: 83)
上传
点击文件名下载附件
至于这里的脚本我没动,和新工程是一样的
[pre lang="ruby"]#==============================================================================
# ■ Game_Actors
#------------------------------------------------------------------------------
# 处理角色排列的类。本类的实例请参考
# $game_actors。
#==============================================================================
class Game_Actors
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
@data = []
end
#--------------------------------------------------------------------------
# ● 获取角色
# actor_id : 角色 ID
#--------------------------------------------------------------------------
def [](actor_id)
if actor_id > 999 or $data_actors[actor_id] == nil
return nil
end
if @data[actor_id] == nil
@data[actor_id] = Game_Actor.new(actor_id)
end
return @data[actor_id]
end
end
[/pre]
作者:
真·可乐
时间:
2018-8-2 19:00
[] (actor_id)这个方法被传入了nil参数,在19和20行之间加上
[pre lang="ruby"]return if actor_id.nil?
[/pre]
试试
作者:
阮声悠悠
时间:
2018-8-2 19:12
真·可乐 发表于 2018-8-2 19:00
[] (actor_id)这个方法被传入了nil参数,在19和20行之间加上
return if actor_id.nil?
[/pre]
插入后测试了20多场,应该是没问题了。非常感谢!!
额外学习一下,如果我想搜索使用这个方法的位置,逐一判断有没有可能传入nil参数
不知道应该搜索什么内容呢
作者:
芯☆淡茹水
时间:
2018-8-2 20:04
本帖最后由 芯☆淡茹水 于 2018-8-3 11:14 编辑
直接写成 : return nil if !actor_id || !$data_actors[actor_id]
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X5.0