AS3如何使战争迷雾

时间:2013-11-04 08:52:38

标签: actionscript-3 flash

我完成了一个迷宫游戏,一个角色四处走动,收集东西并射击敌人。游戏完全动态制作。我现在想要添加一个战争迷雾,角色只能在某个圆半径上看到他周围的什么。我使用精灵/电影剪辑创建了图像和背景图像。

我最初的想法是在整个地图上创建5 * 5个黑色方块,并让它们都运行一个事件监视程序,看看它们是否被击中,如果它们被击中,则将alpha更改为0。但我认为它可能会因太多EVENT活跃而陷入困境。有更好的方法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

据我所知,你需要在小地图上创造战争迷雾,以便英雄只能在预定义的半径范围内看到敌人等,如果他已经访问了地图的那一部分,也可以看到地形。像这样:

enter image description here

黄爪是英雄,红点是敌人。尚未访问地图的较暗部分。

你可以通过使用2个面具来实现这个效果,1个用于掩蔽显示部分地形,另一个用于遮蔽地形和敌人或其他物体的突出部分。所以你的图层结构应该是这样的:

enter image description here

设置图层后,您只需调用

即可
beginFill(0xFF0000); // any color will do
drawCircle(mHero.x, mHero.y, radius);
endFill();

黑暗地形蒙版({1}}对象上的方法。 mHero是小地图上英雄符号的实例名称。

这是揭示部分,对于英雄在小地图上的位置的突出显示,您需要对突出显示的地形蒙版执行相同的操作,但在每次绘制调用时添加graphics方法,旧圈子没有得到保存。对于突出显示的地形图图形对象,您将拥有类似的内容:

clear()