c++ - 是否可以在 C++/SDL 中指定图像/ Sprite 的大小?

标签 c++ sdl 2d-games

我正在创建一个类似于 this 的游戏我正在尝试弄清楚如何生成随机大小的敌鱼。据我所知,你在 SDL 中创建的 Sprite 采用你给它们的图像的大小,但我想要做的是能够在使用随机值动态创建鱼时为我的图像指定一个大小它的大小。

我的作业使用 SDL 和提供给我们的框架,因此我无法导入任何花哨的库。

谁能用这个给我指出正确的方向?

最佳答案

您正在寻找的是缩放。你可以查看这个tutorial轻松将功能添加到您的游戏中。建议的 rotozoom 可以在 SDL_gfx 中找到,可用 here .

如果您打算走这条路并决定编写自己的代码用于学习目的,请记住手动缩放 SDL_Surface 的成本很高,因此您应该只在需要时才这样做产卵并在鱼的一生中储存表面。

另一种选择是使用 3D 图形制作 2D 游戏;基本上,您只需按照您想要的方式拉伸(stretch)三角形,纹理就会自行调整以填充它。

关于c++ - 是否可以在 C++/SDL 中指定图像/ Sprite 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16181355/

相关文章:

c++ - 如何从存储在 char* 指针中的 name 调用 c 函数?

audio - 音频卷积输出比输入长,当将数据反馈到固定长度的流时,如何解决此问题?

ios - SKAction scaleBy : duration: SpriteKit

android - 没有更新电池优化时不渲染 - libgdx

C++/Lua FFI 将用户数据呈现为表格?

c++ - C++中的递归文件夹扫描

c++ - SDL2 中的多个显示

opengl - 当今 OpenGL 中 NPOT 纹理的状态

audio - Corona sdk : Is there a difference between audio. play() 和 media.play() 哪个更好?

c++ - Box2D - 从旋转枪发射子弹