如何创建';战争迷雾';Android中的位图覆盖

如何创建';战争迷雾';Android中的位图覆盖,android,bitmap,overlay,transparent,fog,Android,Bitmap,Overlay,Transparent,Fog,我有一个简单的2D游戏,里面有几个角色在屏幕上移动。我想创建一个战争之雾,这样每个角色周围的背景都是可见的 希望这是清楚的(不要太雾?!)。我的想法是创建一个黑色位图,然后以每个字符为中心绘制一个“透明”磁盘。然后我可以画背景,画人物,最后在上面画这个叠加位图 只是不知道如何在黑色位图上绘制“透明”磁盘 任何想法或替代设计?与设置为0的对象一起使用。或者,您可以创建一个带有位图的透明圆,并像绘制另一个位图一样绘制它。如果您希望使用淡入黑色的强控制,则基于位图的圆圈将更为有利 创建位图以保存黑色覆

我有一个简单的2D游戏,里面有几个角色在屏幕上移动。我想创建一个战争之雾,这样每个角色周围的背景都是可见的

希望这是清楚的(不要太雾?!)。我的想法是创建一个黑色位图,然后以每个字符为中心绘制一个“透明”磁盘。然后我可以画背景,画人物,最后在上面画这个叠加位图

只是不知道如何在黑色位图上绘制“透明”磁盘

任何想法或替代设计?

与设置为0的对象一起使用。或者,您可以创建一个带有位图的透明圆,并像绘制另一个位图一样绘制它。如果您希望使用淡入黑色的强控制,则基于位图的圆圈将更为有利

  • 创建位图以保存黑色覆盖
  • 用黑色填充位图
  • 在你想打孔的地方画一个透明的圆圈
  • 在游戏画布上绘制覆盖层
  • 重复一遍
  • 与设置为0的对象一起使用。或者,您可以创建一个带有位图的透明圆,并像绘制另一个位图一样绘制它。如果您希望使用淡入黑色的强控制,则基于位图的圆圈将更为有利

  • 创建位图以保存黑色覆盖
  • 用黑色填充位图
  • 在你想打孔的地方画一个透明的圆圈
  • 在游戏画布上绘制覆盖层
  • 重复一遍

  • 实际上,由于战争之雾需要持久化,我不得不选择不透明的平铺解决方案,而不是直接的位图,因为位图太大,并且在激活之间加载/保存的时间太长。

    事实上,由于战争之雾需要持久化,我不得不选择不透明的平铺解决方案,而不是直接的位图,由于位图太大,在激活之间加载/保存的时间太长。

    很抱歉,我不太了解细节。在您的第一个建议中,是创建第二个画布吗?我的画布包含我的背景图像。然后我在上面画我的角色。然后我想用一个黑色位图覆盖整个地块,字符周围的区域“打孔”。在你的第二个建议中,我将如何让透明圆显示背景,而不仅仅是在黑色中打一个洞?干杯,但我仍然不确定绘制透明圆需要什么设置。我刚刚有了一个新的Paint,并将alpha设置为0,但这只是画了一个透明的圆圈,下面的部分为黑色。干杯!现在起作用了。我在这方面遇到了一些麻烦,但它现在起作用了。谢谢你的帮助。我必须设置一个PorterDuff模式(不管是什么!)对不起,我不太了解细节。在您的第一个建议中,是创建第二个画布吗?我的画布包含我的背景图像。然后我在上面画我的角色。然后我想用一个黑色位图覆盖整个地块,字符周围的区域“打孔”。在你的第二个建议中,我将如何让透明圆显示背景,而不仅仅是在黑色中打一个洞?干杯,但我仍然不确定绘制透明圆需要什么设置。我刚刚有了一个新的Paint,并将alpha设置为0,但这只是画了一个透明的圆圈,下面的部分为黑色。干杯!现在起作用了。我在这方面遇到了一些麻烦,但它现在起作用了。谢谢你的帮助。我还必须设置PorterDuff模式(不管是什么!)