我有一个简单的 2D 游戏,其中有一些角色在屏幕上移动。我想创建一个 war 迷雾,只有每个角色周围的背景是可见的。
希望天气晴朗(不要太模糊?!?!)。我的想法是创建一个黑色位图,然后以每个字符为中心绘制一个“透明”圆盘。然后我可以绘制背景,绘制字符,最后在顶部绘制这个叠加位图。
只是不确定如何将“透明”磁盘绘制到黑色位图上。
有什么想法或替代设计吗?
最佳答案
使用Canvas.drawCircle()用Paint alpha 的对象设置为 0。或者,您可以使用位图创建一个透明圆圈,然后像绘制另一个位图一样绘制它。如果您想要通过渐变到黑色进行强大的控制,那么基于位图的圆圈会更有优势。
- 创建一个位图来保存黑色覆盖层
- 用黑色填充位图
- 在你想打洞的地方画一个透明的圆圈
- 在您的游戏 Canvas 上绘制叠加层
- 重复。
关于android - 如何在 Android 中创建 'fog of war' 位图覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289750/