【问题标题】:Is it possible to specify the size of an image/sprite in C++/SDL?是否可以在 C++/SDL 中指定图像/精灵的大小?
【发布时间】:2013-04-24 00:24:12
【问题描述】:

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

我的作业使用 SDL 和给我们的框架,所以我不能导入任何花哨的库。

谁能指出我正确的方向?

【问题讨论】:

  • 如果您将此问题发布到 Game Development 而不是 StackOverflow,您可能会得到更好的答案。
  • 您的框架是否支持调整大小?您有以下选择: 1. 您可以通过将每第 n 个像素带到一个新表面来创建一个较小的位图。 2. 使用 SDL_rotozoom,它不包含在 SDL 中。
  • 只是想知道您是否需要我提供更详细的答案?

标签: c++ sdl 2d-games


【解决方案1】:

您要查找的内容称为scaling。您可以查看此tutorial 以轻松将该功能添加到您的游戏中。建议的rotozoom 可以在SDL_gfx 中找到,here 可用。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2011-12-26
    • 1970-01-01
    相关资源
    最近更新 更多