0

关于它:我们正在使用 C# 在 Visual Studio 中构建一个关卡编辑器,导入早已消失的编辑地图。这些瓦片地图具有多个层并由多个瓦片组成。它们都显示在彼此之上。最后应该有一个选择框来选择一个图块。

我们当前的方法:在表格中为瓦片地图的每一层创建“面板”对象。当用相应的面板加载每一层时,我们将所有面板堆叠在一起,将每一层“父化”到下一层。选择框面板最后也有一个父级。(为什么?当不这样做时,顶层会将其背景设置为表单。这是灰色的。第二层将不可见)。所以它看起来像... SelectionBoxPanel -> Panel_3 -> Panel_2 -> Panel_1 -> BackgroundPanel。

问题:当调用 selectionBoxPanel 的绘制事件时(在场景上移动时),每个父面板都会被重绘。很明显它需要大量的 CPU 并且图层上的每个图块都会被刷新!

问题:是否有不同的文件(如着色器文件)或对象(如面板)或任何我们可以用于这些层的图形表示的东西?

4

1 回答 1

0

我们解决了问题,

  1. 我们将所有面板更改为图片框。(我们失去了滚动功能,但目前正在努力)。

  2. 从育儿改为“Controls.Add(Child)”方法,因为图片框不包括育儿选项。

  3. 对所有图片框应用双缓冲。

完毕。

于 2013-04-24T11:13:12.637 回答