1

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

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

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

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

4

2 回答 2

1

Canvas.drawCircle()alpha设置为 0 的Paint对象一起使用。或者,您可以使用位图创建一个透明的圆圈,然后像绘制另一个位图一样绘制它。如果您想要通过淡入淡出进行强大的控制,则基于位图的圆圈会更有利。

  1. 创建一个位图来保存黑色覆盖
  2. 用黑色填充位图
  3. 在你想打孔的地方画一个透明的圆圈
  4. 在游戏画布上绘制叠加层
  5. 重复。
于 2011-09-02T22:31:59.377 回答
0

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

于 2011-10-03T21:06:54.860 回答