Advertisement

(SDL2系列教程 11 动漫人物小游戏)

阅读量:

本机制作一个动漫人物,具有丰富的动作形象;

代码讲解

定义精灵表结构体

该代码段定义了一个名为"spritesheet"的结构体对象。
该对象包含三个成员变量:

  • 一个指向SDL Texture对象的指针;
  • 一个包含 sprite objects 的向量;
  • 两个 unsigned 整型变量分别表示 last frame 和 last update 时间。

texture 纹理;

sprites 向量存储每个人物的矩形位置;

lastFrame 上一帧;

lastUpdate 上次刷新时间;

先加载图片,获取每个人物的矩阵信息

spritesheet ss;

赋值为0。
将lastUpdate设为获取当前时间。
通过指定的渲染器和缓冲区创建纹理。
释放缓冲区资源。
将缓冲区指针设为空。
如果未成功创建纹理则会输出错误提示并返回false。

for (int j = 0; j < 16; j++) { //此循环将人物矩形信息放入vector sprites中
for (int i = 0; i < 16; i++) {
SDL_Rect r = { i * sprite_width, j * sprite_height, sprite_width, sprite_height };
ss.sprites.push_back(r);
}

全部评论 (0)

还没有任何评论哟~