在游戏运行时从现有精灵表创建精灵表



我一直在用XNA制作一个2D游戏,它将有几个独特的敌人。我可以毫不费力地将单独的精灵绘制到屏幕上,一个在另一个上,使两个敌人不相同,但我认为,如果我不为每个敌人绘制十几个精灵,而是以某种方式将这些精灵合并到一个精灵表中,可能会更有效率。

如果我的屏幕上有很多这样的敌人,如果我合并,我会提高性能吗?有没有一种简单的方法让我以这种方式创建新的精灵表,或者答案很繁琐?

绘制一个精灵而不是几个精灵可能更快。但是,如果您遇到性能问题,我只会推荐这样做。使用SpriteBatch绘制精灵非常快。它具有对相同纹理的绘制调用进行分组的良好功能,这使得它非常快。如果为每个敌人创建单独的纹理,则可能会丢失此功能,这可能会导致性能损失。创建一个大的精灵表可能会更好,如果工作表不会变得太大。

要创建这样的工作表,您必须创建一个纹理/渲染目标并渲染到它。以下是使用XNA的方法。

最新更新