【问题标题】:Create a Class on XNA WinForm C#在 XNA WinForm C# 上创建一个类
【发布时间】:2012-12-22 11:25:05
【问题描述】:

我成功地创建了 xna winform,就像 WinForms Series 1: Graphics Device 教程一样。好吧,现在我想创建一些类来绘制基于类的组件

在 xna 中有几个“受保护的虚空”来构建游戏:DrawableGameComponent,但这是一个 xna winform,所以我们必须创建自己的图形设备。 在 xna 中,看看下面这个“受保护的无效”代码:

      public override void Draw(GameTime gameTime)
        {
            // TODO: Add your drawing code here
            base.Draw(gameTime);
        }
        public override void Update(GameTime gameTime)

        {                                            

            base.Update(gameTime);
        }

我希望上面的这些代码使用自己的图形设备在课堂上工作 那么,我该怎么做呢?

【问题讨论】:

    标签: c# winforms visual-studio xna


    【解决方案1】:

    您需要将从DrawableGameComponent 继承的游戏组件添加到Game.Components 集合中。

    另外,您不需要制作自己的图形设备。

    【讨论】:

      【解决方案2】:

      在编写 WinForms 应用程序时,您不会依赖 Draw 和 Update 方法来告诉您何时绘制和更新;相反,您可以覆盖 Windows OnPaintBackground 方法。对于更新,您可以使用 Timer 对象。

      【讨论】:

      • 我都写在class文件里了,怎么才能访问class里的定时器呢?
      • Timer 将在 Form 上,每次触发时,您都会调用您需要的任何 Update 方法或逻辑。
      • 您确定需要在 WinForms 中编写这个项目吗? XNA 将在没有 WinForms 的 Windows 中运行。通常您会使用 WinForms 来编写您的游戏编辑器,或者为 WinForms 应用程序提供一些 XNA 图形功能。如果这个项目是一个游戏,你可能不想使用 WinForms。
      • 是的,我需要在 winform 上运行的 xna 图形。还有很多winform上找不到的优点。例如:他们支持 PNG 格式,因为我想在 winform 上使用 xna 图形。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多