可视化可编辑磁贴地图的最佳方式?C# & Visual Studio 2012



关于它:我们正在使用c#在Visual Studio中创建关卡编辑器,导入很久以前编辑过的地图。这些贴图有多个图层,由多个贴图组成。它们都是相互叠加的。最后应该有一个选择框来选择tile。

我们目前的方法:在一个窗体中为瓷砖地图的每一层创建"面板"对象。当用相应的面板加载完每个图层后,我们将所有面板堆叠在一起,将每个图层"父化"到下一层。选择框面板最后也有一个父面板。(为什么?如果不这样做,顶层将设置它的背景的形式。是灰色的。第二层是不可见的)。所以它看起来像…SelectionBoxPanel -> Panel_3 -> Panel_2 -> Panel_1 -> BackgroundPanel.

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

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

我们解决了这个问题,

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

  2. 从Parenting改为"Controls.Add(Child)"方法,因为Pictureboxes不包含Parenting选项。

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

相关内容

  • 没有找到相关文章