我的目标是制作跳棋游戏,用户可以在棋盘上移动棋子。
我制作的电路板来自DataGridView类。
现在我正在做的是为每个具有透明背景的检查器创建图片框,当用户移动所选择的检查器时,我正在为他设置BringToFront。
问题是"透明"效果实际上是相对于父控件,所有检查器的父级是DataGridView。
因此结果是当有2个棋子重叠时,没有透明效果。
我有一些解决方案但是它占用了大量内存并且甚至在不在UI线程中的线程上都冻结了。
我的解决方案是让一个大面板(所有检查器的父母)的背景是在移动检查器的同时构建客户端屏幕截图和更改。
这样做的正确方法是什么?我正在寻找和尝试系泊网上的解决方案):请帮忙!
编辑:
差不多完成了:
答案 0 :(得分:0)
如果你要使用图片我不会使用透明度。每个应用程序的透明度都较慢。
让我们考虑一下替代解决方案。一个方格可以有多少个州?原色方块可以是空的,或者顶部有红色或黑色。替代的彩色方块上没有任何一块。
这共有4个州。因此4个图像可以在spritesheet上分开或组合。然后你只需要根据其状态切换图片。主要为空,主要为红色,主要为黑色或交替的彩色方块。
如果你想要一个花哨的边框,如果你一块一块地构建它,你可以在后面或旁边使用一个图像。
答案 1 :(得分:0)
因此,如果将来有人需要帮助解决这个问题。
(: