我正在完成 Connect 4 游戏的最后一个。我想让图块实际下拉而不是只出现在插槽中,但是存在 z 排序问题。
为了绘制我的场景,我首先为电路板画了一个矩形,然后用背景颜色在上面画出一些洞。问题是瓷砖没有空间。我试过先画瓷砖。它掉下来了,但是你在洞后面看不到它,因为它们是在我的瓷砖上用纯黑色画在纯黄色上的。我不能在黑色之后画它,但也不能在黄色之前画,因为黄色是先画的。这是一张漂亮的图片:
我有一些解决方案的可能性,但每个都有问题:
使用已经切出孔的电路板位图。
- 我可以画瓷砖,然后用透明键画出形状奇特的框架。
- 或类似的东西实际上会
StretchBlt
拉伸电路板以在不同的分辨率下看起来相同,包括不同的纵横比(我的意思是水平和垂直缩放以使每次都具有相同的比例)?参考图片,无论分辨率如何,它都适合这样的窗口。
逐像素检查并检查要绘制的内容。
- 这很简单,但是会不会很慢?我听说通过每个像素可能不会,但还没有在任何地方真正验证过。
(我认为效果最好的那个) - 画板,但不是顶部的黑洞,而是使板在这些区域透明。
- 这是最少的工作量,在效率方面应该没问题,但我该怎么做呢?
这些解决方案(尤其是第三种)是否合理?有没有一种简单的方法来解决这个 z 顺序问题?