如题,我想做一个类似魔兽地图中城堡混乱战争的塔防游戏,现在有几个技术点不知道怎么实现,求大神赐教。
1.我方的建筑物怎么判断附近是否有怪物,这点我不清楚怎么做,是单独再建一个layer,把敌人都放到这个layer中吗,然后每个防御塔攻击前都遍历这一层所有的怪,然后选出最近的?(这样性能是不是会十分低啊)
2.我想做的游戏,敌我双方都会出兵,也就是两方的兵都会攻击,他们攻击的时候怎么选择只攻击其中一个或者多个,怎么实现比较好?
如题,我想做一个类似魔兽地图中城堡混乱战争的塔防游戏,现在有几个技术点不知道怎么实现,求大神赐教。
1.我方的建筑物怎么判断附近是否有怪物,这点我不清楚怎么做,是单独再建一个layer,把敌人都放到这个layer中吗,然后每个防御塔攻击前都遍历这一层所有的怪,然后选出最近的?(这样性能是不是会十分低啊)
2.我想做的游戏,敌我双方都会出兵,也就是两方的兵都会攻击,他们攻击的时候怎么选择只攻击其中一个或者多个,怎么实现比较好?
未完待续。。。。
我有个思路:
1.给塔和怪物都挂个collider,塔的collider弄大点(攻击范围) 通过检测collider的碰撞事件触发塔的攻击行为
2.这个看你意愿了吧,一般优先攻击距离最近自己的怪物了吧,也可以参照第一点给我方兵设置检测范围?
多谢回答,你的第一个思路,我有个疑问,假设有十个怪同时碰到了塔的攻击范围,那岂不是塔就会同时攻击所有的怪了?有颁发只攻击其中一个吗
1.把地图分32*32的格子 遍历塔周围的十几个个格子
2.aoi算法 这个通用 云风的C代码。 十字链表,一般一个角色只会遍历四个敌人
哦哦,我明白你的意思了,但是弱弱的问一下,在cocos creator 中怎么获取所有敌人的坐标,或者指定范围敌人的坐标,是要把所有的敌人放在一个layer中吗
这需要你自己去组织逻辑了,最简单的就是所有敌人放在同一个父节点下,然后遍历 children
我不太懂游戏开发,不清楚一般大家的做法是怎么设计的。
除了把所有敌人放在同一个父节点下,还有别的方法吗?感觉都放在一个父节点然后遍历children,感觉性能很低啊。我主要不太懂ccc里面有什么比较合适的接口,因此没想出来比较好的方法
…这有什么性能低的啊,怪物才几个。。 肯定要遍历呀。 不然你怎么知道怪物的位置,用引擎的碰撞也是遍历
额,估计是我最近面试面多了,看见什么都先想性能问题…
话说大神有cocos js的代码吗,我想模仿一下,现在刚开始搞
我之前写过一个解决类似问题的damo,使用的是常驻节点统一管理参数的方法,需要的话联系我
你好,方便开源吗?
不用遍历所有的怪物,只要遍历防御塔攻击范围内的格子上是否有怪物就行了