我已经建立了一个简洁的框架,将SDL、openGL和box2D整合在一起,用于2D游戏。
现在它的工作原理是,我创建一个“GameObject”类的对象,指定一个“源PNG”,然后它会自动创建一个openGL纹理和一个相同尺寸的box2d物体。
现在我担心的是,如果我需要在屏幕上渲染许多不同的纹理。
是否有可能在运行时加载所有我的精灵表,并将它们全部组合成一个纹理?如果可以,如何实现?并且有什么好的方法来实现它(这样我就不必手动指定任何参数或其他内容)。
我想在运行时而不是预处理是因为我可以轻松地将某个级别的所有瓷砖、敌人等都加载到这一个纹理中,因为每个级别都不会有相同的敌人。这也会使整个艺术创作过程更容易。