有一段时间我一直在考虑尝试将我最喜欢的经典PC游戏之一The Ur-Quan Masters(又名Star Control 2)移植到iPhone上。 UQM将SDL用于其所有图形,声音,输入和其他游戏内容,似乎有一个SDL到iPhone的端口,但此时它看起来并不十分成熟。
是否有人将iPhone SDL端口放入其中?它的效果如何?我可以期待采用这个项目的哪些问题,这已经是iPhone的跨平台代码?
如果SDL不是一个选项,那么任何人都可以推荐一个替代框架,以便弥合SDL与OpenGL ES和Core Audio等本机库之间的差距吗?或者编码这些框架是最佳选择?
编辑以添加:以下是UQM论坛上关于执行iPhone端口的forum thread的链接。
答案 0 :(得分:21)
<强>更新强>
这个答案真的已经过时了,所以你可以停止投票吧!
我不再使用SDL进行iPhone开发,因为它不适合iPhone型号。例如SDL坚持拥有main(),音频子系统不了解AudioSessions,很难了解视图方向的变化等等。很高兴看到一个熟悉的面孔但最终SDL引入的问题比它解决的更多。
2009回答
svn版本对我很有用。
我有一个问题,那是atexit(SDL_Quit)
中的崩溃。
所以我禁用了清理工作。
另外,库名称不合理,但您可以更改它。
对我来说最困难的部分是将我的SDL代码移植到SDL-1.3,并将我的OpenGL代码移植到OpenGLES。
OpenGLES按照您的预期工作,加速度计显示为3轴操纵杆, 声音很稳固。
我从可能的5星中获得iPhone SDL 4.5。
答案 1 :(得分:3)
iPhone端口按预期工作,它确实有一点没有感觉。 虽然提供它并不容易与SDK集成,这可能适用于某些游戏,但我认为大多数用户期望今天更多的游戏,如社交网络连接。
幸运的是,只需稍加努力就可以将大部分iPhone SDK与SDL一起使用。
请参阅我的教程 Bridging the Gap 。
和 Simple DirectMedia Layer Forums 上的博客。
SDL倾向于搞乱tableview中的触摸事件,但你可以通过单独的cfrunloop运行来解决这个问题。
性能接近使用简单的香草OpenGL。