我正在制作一个游戏,以下是相关的技术内容翻译。你可以看到,这个游戏的主要元素是由PictureBox[][]组成的空单元格矩阵。当我将硬币放入其中一列时,我希望它能向下落,但紫色遮罩会覆盖它,而灰色不会。我该如何实现这个效果?请注意,每个PictureBox控件中我都设置了BG Image。
![我的游戏屏幕截图](https://istack.dev59.com/lECtv.webp)
不要这样做。
创建自定义控件。在自定义控件中,覆盖Paint方法,然后先绘制COIN精灵,再在其上绘制遮罩层。确保在此处使用双缓冲绘图。
它会像魔术般地运行,相信我!
而且,由于你正在(我猜)构建五子棋游戏,你的自定义控件也将能够绘制已占用的插槽。
通过设计自定义控件,您将能够将所有动画和图形内容隐藏在主窗体之外。
我认为这样做是不可能的。WinForms中的控件不能透明,这就是问题所在。
我会考虑三个方向: