android - 如何在 Android 中创建 'fog of war' 位图覆盖

标签 android bitmap overlay transparent fog

我有一个简单的 2D 游戏,其中有一些角色在屏幕上移动。我想创建一个 war 迷雾,只有每个角色周围的背景是可见的。

希望天气晴朗(不要太模糊?!?!)。我的想法是创建一个黑色位图,然后以每个字符为中心绘制一个“透明”圆盘。然后我可以绘制背景,绘制字符,最后在顶部绘制这个叠加位图。

只是不确定如何将“透明”磁盘绘制到黑色位图上。

有什么想法或替代设计吗?

最佳答案

使用Canvas.drawCircle()Paint alpha 的对象设置为 0。或者,您可以使用位图创建一个透明圆圈,然后像绘制另一个位图一样绘制它。如果您想要通过渐变到黑色进行强大的控制,那么基于位图的圆圈会更有优势。

  1. 创建一个位图来保存黑色覆盖层
  2. 用黑色填充位图
  3. 在你想打洞的地方画一个透明的圆圈
  4. 在您的游戏 Canvas 上绘制叠加层
  5. 重复。

关于android - 如何在 Android 中创建 'fog of war' 位图覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289750/

相关文章:

javascript - GMaps v3 : How to cancel mouse scroll events before they scroll map

Android点击 map 并获取坐标

android - 生成签名 APK : Errors while building APK Android Studio

android - Android中canvas和matrix是什么关系?

ios - 移动叠加层 Google map iOS SDK

java - 检查文件长度后在 Android 中进行位图采样

c# - 如何将位图图像从自定义程序集返回到 SSRS 报告?

java - 动态添加ImageButtons

android - 有关安装 Android 应用程序的资源

android - 安卓条形码/二维码阅读器