5. TextureManager

随着游戏资产的增加,直接在初始化阶段管理资源变得困难。解决方案是采用单例模式来抽离资源管理,确保所有模块可以共享资源,避免绑定到特定模块。此方法涉及到在Game类中对资源加载和更新的调整,并且使用了SDL2_image扩展库来支持资源加载。
摘要由CSDN通过智能技术生成

文章目录

问题

随着游戏assets的增多, 资源一直在init中管理, 会给后期维护或修改带来挑战.

解决

所以我们可以将其抽离出来.

// TextureManager.h
#ifndef TEXTUREMANAGER_H_INCLUDED
#define TEXTUREMANAGER_H_INCLUDED

#include "SDL.h"
#include <string>
#include <map>

class TextureManager
{
   
public:
    bool load(std::string fileName, std::string id, SDL_Renderer* pRenderer);
    void draw(std::string id, int x, int y, int width, int height,
              SDL_Renderer* pRenderer, SDL_RendererFlip flip = SDL_FLIP_NONE);
    void drawFrame(std::string id, int x, int y, int width, int height,
                   int currentRow, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值