设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2254|回复: 2
打印 上一主题 下一主题

ARPG的范围攻击问题.

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
45 小时
注册时间
2006-8-23
帖子
303
跳转到指定楼层
1
发表于 2007-7-8 02:20:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在事件(怪物)用下面的事件,并行处理
意思为主角用必杀时 开关[0023:必杀] = ON
处于主角周围(11*11格)的怪物受到伤害

  1. 条件分歧 : 开关[0023:必杀] = ON
  2. 脚本 :  i = @event_id
  3.          $game_variables[12]=$game_map.events[i].x
  4.          $game_variables[13]=$game_map.events[i].y
  5.          $game_variables[14] = $game_player.x
  6.          $game_variables[15] = $game_player.y
  7. 变量操作 : [0014] += 5
  8. 条件分歧 : [0014] >= [0012]
  9.   变量操作 : [0014] -= 10
  10.   条件分歧 : [0014] <= [0012]
  11.    变量操作 : [0015] += 5
  12.    条件分歧 : [0015] <= [0013]
  13.     变量操作 : [0015] -= 10
  14.     条件分歧 : [0015] <= [0013]
  15. 脚本 :  atkr = 10*$game_actors[1].atk
  16.          str = 10*$game_actors[1].str
  17.          atk = atkr + str
  18.          $game_map.events[@event_id].damage = atk
  19.          $game_map.events[@event_id].critical = false
  20.          $game_map.events[@event_id].damage_pop =
  21.          true
  22.          $game_variables[100] += atk
  23.     分歧结束
  24.    分歧结束
  25.   分歧结束
  26. 分歧结束
  27. 分歧结束


  28.   
复制代码



如果只有一个怪时没有问题,但怪多了时,就会出现能打中某些,有些在范围内也打不中,
怎么回事,测试很多遍后发现一个奇怪的现象,
像 事件[EV002]~[EV009]都是怪物,然而用必杀只能打中[EV005],打死[EV005]后,就能打
[EV006],只有打死[EV006]的时候,才能打中[EV007]......
总的顺序是EV005-6-7-2-8-3-9-4,怎么回事?越搞越糊涂了.

Lv1.梦旅人

梦石
0
星屑
60
在线时间
45 小时
注册时间
2006-8-23
帖子
303
2
 楼主| 发表于 2007-7-8 02:20:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在事件(怪物)用下面的事件,并行处理
意思为主角用必杀时 开关[0023:必杀] = ON
处于主角周围(11*11格)的怪物受到伤害

  1. 条件分歧 : 开关[0023:必杀] = ON
  2. 脚本 :  i = @event_id
  3.          $game_variables[12]=$game_map.events[i].x
  4.          $game_variables[13]=$game_map.events[i].y
  5.          $game_variables[14] = $game_player.x
  6.          $game_variables[15] = $game_player.y
  7. 变量操作 : [0014] += 5
  8. 条件分歧 : [0014] >= [0012]
  9.   变量操作 : [0014] -= 10
  10.   条件分歧 : [0014] <= [0012]
  11.    变量操作 : [0015] += 5
  12.    条件分歧 : [0015] <= [0013]
  13.     变量操作 : [0015] -= 10
  14.     条件分歧 : [0015] <= [0013]
  15. 脚本 :  atkr = 10*$game_actors[1].atk
  16.          str = 10*$game_actors[1].str
  17.          atk = atkr + str
  18.          $game_map.events[@event_id].damage = atk
  19.          $game_map.events[@event_id].critical = false
  20.          $game_map.events[@event_id].damage_pop =
  21.          true
  22.          $game_variables[100] += atk
  23.     分歧结束
  24.    分歧结束
  25.   分歧结束
  26. 分歧结束
  27. 分歧结束


  28.   
复制代码



如果只有一个怪时没有问题,但怪多了时,就会出现能打中某些,有些在范围内也打不中,
怎么回事,测试很多遍后发现一个奇怪的现象,
像 事件[EV002]~[EV009]都是怪物,然而用必杀只能打中[EV005],打死[EV005]后,就能打
[EV006],只有打死[EV006]的时候,才能打中[EV007]......
总的顺序是EV005-6-7-2-8-3-9-4,怎么回事?越搞越糊涂了.

Lv1.梦旅人

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
帖子
1741

贵宾

3
发表于 2007-7-8 02:51:50 | 只看该作者
我的方法是
脚本:
for event in $game_map.events.values 循环地图所有事件
if (event.x - $game_player.x).abs + (event.y - $game_player.y).abs <= $game_variables[X] 距离小于等于某变量
伤害处理
end
end

你这个好像没用到循环吧 所以一次只能对一个有效
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-6-14 02:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表