Jus*_*ten 13 c++ user-interface sdl image
我正在构建一个游戏,主角的手臂将跟随鼠标光标,所以它会频繁旋转.旋转它的最佳方法是什么?
Zac*_*man 20
使用SDL,您有几个选择.
提前旋转所有精灵(预渲染所有可能的旋转)并像任何其他精灵一样渲染它们.这种方法很快,但使用更多内存和更多精灵.正如@Nick Wiggle所指出的,RotSprite是一个用于生成精灵变换的好工具.
使用SDL_gfx之类的东西进行实时旋转/缩放.(不推荐,非常慢)
在OpenGL模式下使用SDL并将精灵渲染为基元,将旋转应用于基元.
选项3可能是您最好的选择,因为您获得了使用OpenGL的所有优势.这取决于你如何做到这一点.您也可以加载精灵,使用SDL_gfx执行所有旋转计算,然后将旋转的版本保存到内存中的SDL_Surface.
编辑:在回应您的评论时,我建议您查看Lazyfoo的SDL tutorals.具体来说,这一个关于旋转.还有一个OpenGl函数,glRotatef
在您的情况下可能很有用.快速搜索带回了这个小小的一点,也可能有用.