一群怪,扇形排列围攻玩家,有什么思路来实现呢?................

zahonqq 2013-11-08 12:21:06
一群怪,扇形排列围攻玩家,有什么思路来实现呢?
怪之间没有碰撞,现在怪都重叠在一块攻击玩家,实在不好看,不知道怎么做成扇形排列围攻玩家-。-,有没大神来指点一下,多谢了~
...全文
744 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
歪少爷的剑 2014-01-09
  • 打赏
  • 举报
回复
额,这个需求,我开始工作的时候遇到过。 具体思路,怪物攻击玩家的时候从玩家返回一个空位给它。 比如如果玩家周围可以有10个怪物攻击, 分别在第 0度, 36度, 72度。 存在一个数组bool HaveMonster[10]里面。 当一个占用了其中一个位置,比如在第32度的角度有一个怪, 则修改 HaveMonster[1]标准位, 下一个怪物要来的时候,找一个空的标志位就可以了。 记得好像某一版本的游戏编程精粹上有提过类似的问题。
BrandoLv 2013-12-26
  • 打赏
  • 举报
回复
想要的是这样的效果?


如果是这样的效果, 就使用三角函数:
var missile:Object = null;
// var hd:Number = Math.random() * Math.PI * 2 - Math.PI;
var hd:Number = Math.PI;
trace("总共:" + missileArray.length);
var hd:Number = Math.PI * 1.5;
for (var i:int = 0; i < missileArray.length; i++) {
missile = missileArray[i];
missile.bitmap.x = Math.cos(hd) * 200 + Global.middlePoint.x;
missile.bitmap.y = Math.sin(hd) * 200 + Global.middlePoint.y;
missile.hd = hd;
hd += 0.2;
trace("第:" + i + "个 X:"+ missile.bitmap.x + "Y:"+missile.bitmap.y);
}
trace("最大弧度:" + hd);
zahonqq 2013-11-10
  • 打赏
  • 举报
回复
引用 2 楼 max_min_ 的回复:
怪的坐标不要相隔太小,根据具体情况,坐标距离拉大点!
坐标距离拉大点!这个能详细说说吗?
zahonqq 2013-11-10
  • 打赏
  • 举报
回复
引用 1 楼 jiangcaiyang123 的回复:
我们这儿都是排着队攻击玩家,要是围成一圈攻击玩家的话,那么有必要设置怪物之间的碰撞。
用碰撞的话,会出现挤来挤去的情况~
max_min_ 2013-11-09
  • 打赏
  • 举报
回复
怪的坐标不要相隔太小,根据具体情况,坐标距离拉大点!
彩阳 2013-11-08
  • 打赏
  • 举报
回复
我们这儿都是排着队攻击玩家,要是围成一圈攻击玩家的话,那么有必要设置怪物之间的碰撞。

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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