我想创建一个像太空侵略者这样的简单游戏.我知道我可以使用Android NDK,但必须移植使用的库.我不能使用第三方专有库.
我将使用OpenGL,但是OpenGL API在AndroID上似乎有所不同.我必须使用jpeg和png纹理,并编写文本.我可以为AndroID编译libjpeg,libpng和freetype吗?
我不能具体实现游戏引擎(C)和渲染例程(C和OpenGL),因为那是复杂的部分.
我准备为每个平台实施一些组件.窗口系统和用户输入没有问题,因为我将为每个系统使用特定的实现,所以对我来说很简单.
我将SDL及其扩展名用于PC上的音频,但是它易于使用.我可以为AndroID使用特定的音频库.
谢谢
解决方法:
Can I compile libjpeg, libpng and freetype for AndroID?
是的,您将必须重新编译所有专门用于AndroID的本机库.是的,您确实需要计划使用的所有第3方本机库的源代码,这仅仅是因为通常当我们在AndroID外部编译并链接这些库时,它们会链接到glibc,但不幸的是,由于许可和性能问题,AndroID不使用glibc. AndroID使用称为libc的glibc精简版.对于大多数常用功能,它具有与glibc匹配的符号名称.但是据我所知,libc没有与字符串相关的某些功能,并且绝对没有posix支持.如果您的本机库正在使用任何不推荐使用的功能,则必须使用libc支持的替代功能并相应地对您的库进行编码,以找到针对这些库的解决方法.
此外,正如您正确指出的那样,您将必须使用NDK将Java(AndroID app / fwk)与本机世界(C)进行接口.
尽管按照我的经验听起来很简单,但在AndroID上编译本机库(AndroID porting)传统上非常耗时,而且无法保证成功.
总结以上是内存溢出为你收集整理的如何将PC游戏移植到用C语言编写的Android全部内容,希望文章能够帮你解决如何将PC游戏移植到用C语言编写的Android所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)