查看: 2251|回复: 17

怎样用事件判定法术范围

  [复制链接]
梦石
0
星屑
50
在线时间
5 小时
注册时间
2008-10-19
回帖
301
发表于 2009-6-6 18:49:03 | 显示全部楼层 |阅读模式

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

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

×
就是在ARPG施用一个法术时判定周围的事件(不确定的)受到HP减少的影响,用事件可以办到么……


此贴于 2009-6-11 3:44:37 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:本贴由楼主自主结贴~
锐意制作中...
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-6-6 18:51:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
5 小时
注册时间
2008-10-19
回帖
301
 楼主| 发表于 2009-6-6 18:53:32 | 显示全部楼层
以下引用66rpg学习于2009-6-6 10:51:11的发言:

没听太明白,是在ARPG中 制作一个有范围的魔法吗

比如一次攻击 5个敌人?


对,不过ARPG中一个敌人就是一个事件
锐意制作中...
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-6-6 18:57:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
5 小时
注册时间
2008-10-19
回帖
301
 楼主| 发表于 2009-6-6 19:00:56 | 显示全部楼层
以下引用66rpg学习于2009-6-6 10:57:22的发言:


以下引用TLF于2009-6-6 10:53:32的发言:


以下引用66rpg学习于2009-6-6 10:51:11的发言:

没听太明白,是在ARPG中 制作一个有范围的魔法吗

比如一次攻击 5个敌人?



对,不过ARPG中一个敌人就是一个事件




我这就出门
理论操作:
必须设置技能范围
攻击时,技能造成地面一个范围可以2维数组,就象SLG的攻击范围
然后循环检查当前地图所有事件的坐标
  在此地面范围内的事件 受到伤害。


明白可是太简单了……。。我还弄不懂什么叫2维数组,什么叫SLG呢,能不能有更好的方法?。。
锐意制作中...
回复

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-17
回帖
31
发表于 2009-6-6 19:07:58 | 显示全部楼层
假设先判断一个敌人,该敌人的坐标代入变量3和4,假设一个炸弹爆炸了,爆炸范围是4格,炸弹的坐标代入变量1和2,以下用并行事件判断该敌人是不是在爆炸范围内,是的话就扣血。多个敌人可以循环判断敌人事件的ID
($game_variables[1]-$game_variables[3]).abs <= 4 and ($game_variables[2]-$game_variables[4]).abs <= 4
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-5-12
回帖
39
发表于 2009-6-6 19:11:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
5 小时
注册时间
2008-10-19
回帖
301
 楼主| 发表于 2009-6-6 19:24:23 | 显示全部楼层
以下引用如梦于2009-6-6 11:07:58的发言:

假设先判断一个敌人,该敌人的坐标代入变量3和4,假设一个炸弹爆炸了,爆炸范围是4格,炸弹的坐标代入变量1和2,以下用并行事件判断该敌人是不是在爆炸范围内,是的话就扣血。多个敌人可以循环判断敌人事件的ID
($game_variables[1]-$game_variables[3]).abs <= 4 and ($game_variables[2]-$game_variables[4]).abs <= 4


[本贴由作者于 2009-6-6 11:11:14 最后编辑]

多个敌人可以循环判断敌人事件的ID    这个怎么做?

还有($game_variables[1]-$game_variables[3]).abs <= 4 and ($game_variables[2]-$game_variables[4]).abs <= 4
这个是直接用条件分歧里的脚本调用还是……
锐意制作中...
回复

使用道具 举报

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-17
回帖
31
发表于 2009-6-6 19:38:01 | 显示全部楼层
直接用条件分歧里的脚本调用,

比如敌人事件编号为1~10,炸弹是11号事件,1~10号公共事件是1~10号敌人的扣血事件
for i in 1..10
x  = $game_map.events[11].x
y  = $game_map.events[11].y
x1 = $game_map.events.x
y1 = $game_map.events.y
if (x - x1).abs <= 4 and (y - y1).abs <= 4
   $game_temp.common_event_id = i
   break
end
end
回复

使用道具 举报

梦石
0
星屑
50
在线时间
5 小时
注册时间
2008-10-19
回帖
301
 楼主| 发表于 2009-6-6 21:58:52 | 显示全部楼层
以下引用如梦于2009-6-6 11:38:01的发言:

直接用条件分歧里的脚本调用,

比如敌人事件编号为1~10,炸弹是11号事件,1~10号公共事件是1~10号敌人的扣血事件
for i in 1..10
x  = $game_map.events[11].x
y  = $game_map.events[11].y
x1 = $game_map.events.x
y1 = $game_map.events.y
if (x - x1).abs <= 4 and (y - y1).abs <= 4
  $game_temp.common_event_id = i
  break
end
end


[本贴由作者于 2009-6-6 11:39:38 最后编辑]


有点问题,如果敌人数量众多,那么要每一个都创建一个扣血事件?。
锐意制作中...
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部