正确使用DrawableComponent

时间:2009-12-11 20:47:48

标签: xna

我想在我的游戏之上扩展这个类的GUI层。我找不到有关实际使用IComponent,IDrawable系列接口的更多信息。似乎我看过的大部分例子都是开发人员自己处理所有这些问题。

使用这些界面的适当方法是什么?

2 个答案:

答案 0 :(得分:0)

将组件添加到组件列表后,xna游戏框架将负责为您调用所有适当的方法。在实践中,没有人真正直接实现接口,他们只使用其中一个内置组件,如DrawableGameComponent(正如@Peter指出的那样)。

Here是关于如何使用它的示例/教程: - )

答案 1 :(得分:0)

如前所述,您应该从DrawableGameComponent派生您的课程。然后你应该实现

    public override void Update(GameTime gameTime)
    {
        // TODO: Add your update code here

        base.Update(gameTime);
    }

    public override void Draw(GameTime gameTime)
    {
        // TODO: Add your update code here

        base.Draw(gameTime);
    }

在其容器(通常是您的DrawableGameComponent类)构造函数中创建Game1并在同一位置添加Game.Components非常重要,否则可能无法正确调用组件方法。

如果您以这种方式管理您的组件,框架会自动调用InitializeUpdateDraw

GameComponent s也是如此,但显然没有Draw方法。