我正在用c#创建一个轻量级的GDI +游戏引擎。在创建游戏引擎时,我阅读了一些使用图片框控件作为图形表面的书籍。然而,在网上进行一些研究之后,似乎使用图片框控制不是我应该做的。这是真的,如果是这样,为什么?
答案 0 :(得分:1)
您无需任何控制,只需直接在您的表单上绘制或Panel
启用DoubleBuffered
即可。它好多了。您必须创建自己的对象,以便我们可以计算他们的Region
,我们将使用他们的Region
填充表单/面板。您必须处理表单/面板的事件MouseMove
,MouseDown
,MouseUp
。另一个问题是如何使用objects
测试鼠标,以便我们可以根据用户行为控制对象。有一种有用的方法可以实现IsVisible
对象的Region
。
我们不应该使用任何控件进行绘制的原因是我们需要在对象之间重叠一些Transparent
效果,使用winforms
控件无法帮助您轻松实现,如果不想说不可能,即使你能做到这一点,效果也很差。所以只需在同一画布上绘制所有内容。您还应该尝试使用Image
,然后在Image
上绘制form/panel
或实施自己的Double or triple buffered
。有很多事要做,但我希望你的答案中有一些重要的笔记,并选择正确的方向。