3

我正在用 c# 创建一个轻量级 GDI+ 游戏引擎。在创建游戏引擎时,我阅读了一些使用图片框控件作为图形表面的书籍。然而,在网上做了一些研究之后,似乎使用图片框控件不是我应该做的。这是真的吗?如果是,为什么?

4

1 回答 1

1

您不需要任何控制,只需直接在表单上绘制或Panel启用DoubleBuffered即可。好多了。您必须创建自己的对象,以便我们可以计算它们Region,我们将使用Region它们在表单/面板上填充它们。您必须处理表单/面板的事件MouseMove, 。另一个问题是如何用你的鼠标来测试你的鼠标,以便我们可以根据用户行为控制对象。有一个有用的方法可以调用对象。MouseDownMouseUpobjectsIsVisibleRegion

我们这里不应该使用任何控件进行绘制的原因是我们需要Transparent在对象之间重叠一些效果winforms,如果不想说不可能的话,使用控件无法帮助您轻松实现,即使您可以实现,效果也很差。因此,只需在同一画布上绘制所有内容。您还应该尝试在 a 上Image绘制,然后Image在您的form/panel或实现您自己的Double or triple buffered. 有很多事情要做,但我希望你对我的回答有一些重要的说明,并选择正确的方向。

于 2013-10-04T17:40:48.783 回答