0

因此,在制作 2D 游戏时,有一种常见的模式是创建对象并为每个对象设置精灵。有些对象有很多精灵,有些只有 1 个。

有两种明显的方法可以处理这个问题。

  1. 创建一个 SpriteManager 类来拉入所有精灵并将它们发送到您的每个类。

这种方法的问题似乎是您必须为每个类创建唯一的接口以将精灵传递给它,因为每个类都可以使用任意数量的精灵。

  1. 向每个类发送一个对它需要的资源的引用,以获取它自己的纹理并处理类中的所有内容。

这样做可以让您扩展一个基本的 sprite 类并通过只使用一个 sprite setter 函数来编写并由所有子级继承来节省自己的时间。

所以我的问题是哪个更好,为什么?

4

1 回答 1

0

要回答我自己的问题,最好创建某种了解所有精灵的精灵管理器。

向对象发送加载纹理所需的工具的问题是,如果您有多个对象实例,您最终可能会多次加载相同的纹理。

于 2012-09-29T03:54:02.627 回答