绘制类的最有效方法是什么?

时间:2015-09-22 00:30:04

标签: c# opentk

我正在制作我的第一个(2D)游戏,我选择了OpenTK。我只有一个问题。假设我有一个名为PhysicsObject的类。创建类时,应自动绘制每个PhysicsObject实例。这就是我目前正在做的事情。

物理对象类:

public class PhysicsObject {

    public PhysicsObject() {
        EventMan.draws.Add(Draw);
    }

    public void Draw() {
        // draw code here
    }

}

EventMan:

public static class EventMan {
    public static List<Action> draws = new List<Action>();
}

主要游戏绘图代码:

game.RenderFrame += (sender, e) =>
{
    foreach(List<Action> draw in EventMan.draws.ToList()) {
        draw.Invoke();
    }
}

这确实有效,但我觉得这不是最有效的方法。还有其他方法或我是否正确?

TL; DR:我试图在创建时自动绘制PhysicsObject的每个实例,因此我将实例的draw方法添加到公共静态List中。此列表在绘图代码中访问并运行绘制代码。

0 个答案:

没有答案