1

我的游戏屏幕中有许多方形区域,当演员穿过这些区域时,我希望背景图像从后面显示出来。

那么,是否可以绘制到 SpriteBatch 以便从纹理中减去/删除一个区域(有效地在其中“打孔”)?

我想不出还有什么方法可以做到这一点......剪刀对于我的目的来说似乎非常不切实际,因为我想剪掉一些正方形内的区域。这是剪刀的倒数 - 剪切剪刀边界之外的区域。计算数十个 Scissor 区域以填充各种方形区域之间的反向区域的想法似乎太不切实际而无法解决……尤其是在区域移动的情况下。

任何帮助或建议表示赞赏!

更新: 附上图片。

我希望在用虚线标记的区域中始终可以看到背景。虚线区域会移动,所以我不想从背景中创建更多的精灵放在上面,而是让与虚线正方形相交的部分演员不被绘制。(或任何能达到相同效果的方法。)

https://imagizer.imageshack.us/v2/596x523q90/842/8xp1.png

4

1 回答 1

0

我认为最好的技巧是不要尝试如此精确地剪辑你的演员,而只是重新绘制演员顶部的背景(并剪辑它)。

具体来说:

  1. 绘制整个背景
  2. 画你的演员/精灵
  3. 用一个cliprect为“显示”的一个部分绘制背景
  4. 用另一个cliprect为“显示通过”的另一部分绘制背景
  5. 在您的剪贴画区域周围绘制虚线框

顺便说一句,伟大的形象。轻松值得1000字。:)

于 2014-03-26T04:03:41.403 回答