我正在构建一个游戏,主角的手臂将跟随鼠标光标,因此它会非常频繁地旋转。旋转它的最佳方法是什么?
问问题
26298 次
3 回答
23
使用 SDL,您有几个选择。
提前旋转所有精灵(预渲染所有可能的旋转)并像渲染任何其他精灵一样渲染它们。这种方法速度很快,但使用更多的内存和更多的精灵。正如@Nick Wiggle所指出的,RotSprite是生成精灵变换的好工具。
使用SDL_gfx 之类的东西进行实时旋转/缩放。(不推荐,很慢)
在 OpenGL 模式下使用 SDL 并将您的精灵渲染为基元,对基元应用旋转。
Option3
可能是您最好的选择,因为您获得了使用 OpenGL 的所有优势。如何去做真的取决于你。您也可以加载精灵,使用 SDL_gfx 执行所有旋转计算,然后将旋转后的版本保存到内存中的 SDL_Surface。
编辑:作为对您的评论的回应,我建议您查看 Lazyfoo 的 SDL 教程。具体来说,这一篇关于轮换。还有一个OpenGl 函数 ,glRotatef
它对您的情况很有用。快速搜索带回了这个小花絮,这也可能会有所帮助。
于 2009-07-26T06:45:13.907 回答
13
SDL_RenderCopyEx()
具有旋转、翻转和旋转中心的额外参数。
于 2017-01-15T00:27:34.137 回答
3
您可以使用像 SDL_gfx 这样的库
于 2009-07-26T06:44:09.823 回答