本机制作一个动漫人物,具有丰富的动作形象;
代码讲解
定义精灵表结构体
struct spritesheet {
SDL_Texture* texture;
vector<SDL_Rect> sprites;
Uint32 lastFrame, lastUpdate;
};
texture 纹理;
sprites 向量存储每个人物的矩形位置;
lastFrame 上一帧;
lastUpdate 上次刷新时间;
先加载图片,获取每个人物的矩阵信息
spritesheet ss;
ss.lastFrame = 0;
ss.lastUpdate = SDL_GetTicks();
ss.texture = SDL_CreateTextureFromSurface(renderer, buffer);
SDL_FreeSurface(buffer);
buffer = NULL;
if (!ss.texture) {
cout << "Error creating texture: " << SDL_GetError() << endl;
return false;
}
for (int j = 0; j < 16; j++) { //此循环将人物矩形信息放入vector sprites中
for (int i = 0; i < 16; i++) {<