防御塔系列问题:如何计算攻击

idilent 2009-08-27 09:10:12
我的想法是这样的,地图记录下所有塔攻击范围内的坐标,如果有物体进入该坐标,就根据坐标找出塔。然后塔在根据自己范围内的所有目标,计算一个攻击对象,进行攻击。

好像ActionScript没有hashtable,寻找都需要用Array进行遍历吗?

或者有其他好点的算法?
...全文
147 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kukulu00 2009-08-30
  • 打赏
  • 举报
回复
要Hash?自己写一个就可以了 甚至在ASWING中有Hash这个可以单独使用的类
alaiyeshi 2009-08-28
  • 打赏
  • 举报
回复
记录下攻击范围内的物体,攻击第一个,消灭后攻击列表上的下一个,直至没有
xingjunli 2009-08-27
  • 打赏
  • 举报
回复
 用Array来存储处理吧如: 
   private var ListArray:Array
//存储一个新的对象
public function put(key:String, value:Object):Void
{
var object:Object = new Object();
object.key = key;
object.value = value;
ListArray.push(object);
}
idilent 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xingjunli 的回复:]
解释一下剩下自己搞定:
//通过单位圆进行碰撞检测圆方程(x-h)*(x-h)+(y-k)*(y-k) = r*r; //(h,k)为圆心坐标,r为半径
//带入方程(h2-h1)*(h2-h1)+(K2-K1)*(K2-K1) <=(r1+r2)*(r1+r2) 则发生碰撞进入攻击范围
[/Quote]

问题的重点不是在于怎么计算进入范围,而是计算多塔攻击。
zhuzhi 2009-08-27
  • 打赏
  • 举报
回复
ActionScript没有hashtable,你可以用两个array 同步保存Key和value来实现。
xingjunli 2009-08-27
  • 打赏
  • 举报
回复
解释一下剩下自己搞定:
//通过单位圆进行碰撞检测圆方程(x-h)*(x-h)+(y-k)*(y-k) = r*r; //(h,k)为圆心坐标,r为半径
//带入方程(h2-h1)*(h2-h1)+(K2-K1)*(K2-K1) <=(r1+r2)*(r1+r2) 则发生碰撞进入攻击范围
idilent 2009-08-27
  • 打赏
  • 举报
回复
up

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧