查看: 1970|回复: 2

[已经解决] 当某事件消失后,本来用到那个事件的坐标的现在就报错

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-4-5 13:57:06 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby"]  if @enemy_in_range == nil

      else

        magic_command($game_map.events[@enemy_in_range].x,$game_map.events[@enemy_in_range].y)
  
[/pre]

怎么解决呢。
不是已经设置了不是NIL才执行下面内容吗

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
1816
在线时间
2527 小时
注册时间
2010-10-12
回帖
1336

开拓者

发表于 2016-4-5 14:24:30 | 显示全部楼层
第一行改为
if $game_map.events[@enemy_in_range].nil?

因为就算事件消失了,@enemy_in_range的数值可能还没变。于是当你使用 $game_map.events[@enemy_in_range]时就会返回nil

评分

参与人数 2星屑 +151 收起 理由
RyanBern + 150 认可答案
yang1zhi + 1 我很赞同

查看全部评分


回复

使用道具 举报

梦石
0
星屑
3293
在线时间
1463 小时
注册时间
2014-8-9
回帖
308
发表于 2016-4-5 20:36:03 | 显示全部楼层
@enemy_in_range不等于nil
不信你用 p @enemy_in_range 试试
如果是我,我直接 if $game_map.events[@enemy_in_range].x  !=  nil

评分

参与人数 2星屑 +151 收起 理由
RyanBern + 150 认可答案
yang1zhi + 1 我很赞同

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部