从何处提取精灵纹理



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

有两种明显的方法可以解决这个问题。

  1. 创建一个SpriteManager类来获取所有的精灵,并将它们发送到每个类

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

  1. 向每个类发送一个对资源的引用,这些资源需要引入自己的纹理并处理类内的所有内容

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

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

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

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

最新更新