寻找适用于iOS和Android的基本2D/3D图形的跨平台方法

Dro*_*ror 8 android opengl-es clutter ios

我正在使用他们的原生SDK为Android和iOS单独开发一个应用程序.但是,应用程序中有一些模块应该支持基本的2D(也可以是3D)技能,例如倾斜,缩放,矢量图形的旋转+例如在简单纹理平面上的各种可选花式效果.

我想将这个模块托管在一个视图的某个部分中,并且它的代码将尽可能在iOS和Android平台之间共享.

我一直潜伏在网络上寻求各种解决方案.

  1. 首先是OpenGL,问题是我不熟悉OpenGL的编码,我无法理解我将用OpenGL编写的代码是否可以在两个平台之间共享.似乎没有人真正尝试用NDK等来做这件事.
  2. 有像平台这样的平台

    一个.Clutter(http://www.clutter-project.org/) - 我在移动设备上找不到任何示例.

    湾 像Unity3D这样的平台,虽然我不认为它们可以帮到我很多,因为据我所知,整个应用程序必须在他们的平台上运行,而这不是我想要的.

那么,你们认为在iOS和Android之间共享2d/3d代码是否可行?如果是这样,你有什么方法可以推荐吗?

或者我应该使用每个设备的本机方法2d或3d图形?

谢谢!

tru*_*ktr 7

Kivy:一种开源的跨平台编程语言,用于为Linux,Windows,MacOSX,Android和iOS编写支持OpenGL的绘图,界面,视觉效果等.kivy.org

您可以使用Android或iOS本机小部件放弃Kivy小部件,并且您的应用程序将在所有平台上使用相同的OpenGL驱动的界面.

编辑9/27/11 1pm:我做了更多的研究.总而言之,你应该自己查看这4个开源框架,并决定哪一个最适合你(我可以列出商业框架,但很容易找到):

  1. Kivy(kivy.org)
    • 惊人的GUI和Widgets库.
  2. HaxeNME(haxenme.org)
    • 用于制作OpenGL图形的非常好的2D/3D API.
    • 惊人的跨平台支持.所有框架中最好的.
    • 不幸的是,没有内置GUI或Widget库.
  3. Qt Quick QML(qt-project.org)
    • 用于制作OpenGL图形的非常好的2D/3D API.
    • 与HTML类似,但对于OpenGL.已经知道HTML和JavaScript了吗?QML(快速标记语言)包括基本必需品,如文本字段,单选按钮,复选框等,可以使用事件处理程序进行动画和控制.QML应用程序中的动画,事件处理程序等是用JavaScript编写的; 区别在于JavaScript被编译而不是解释.
    • Qt Quick真的很棒; 我最喜欢的.阅读Qt Quick QML,然后尝试使用Android 的Animated Tiles应用程序来查看Qt Quick的潜力.Qt的最新版本(即将推出)支持iOS,Android和Blackberry以及所有桌面操作系统.Windows Phone是一项正在进行的工作,但考虑到Qt Quick已经支持Windows 8的Metro平台,它将很快到来.Qt Quick非常好用,但它并不适用于HaxeNME这样的每个平台.
  4. MoSync(mosync.com)
    • 隐藏的宝石.这个框架需要更多曝光.MoSync SDK提供了一个跨平台的OpenGL框架,一个类似于PhoneGap的HTML/JavaScript框架,一个用于跨使用每个平台的本机UI小部件的平台编写应用程序的NativeUI框架,以及用于编写C++ GUI的MAUI.
    • 如果你只是在写纯粹的OpenGL,那么我至少建议检查一下MoSync,因为它提供了一对一的OpenGL ES 1.0/2.0实现.

此外,如果您的应用程序将基于表单(而不是像游戏那样动画),那么PhoneGap可能会满足您的需求.如果您使用HTML5的正确功能,您可以创建感觉本机的应用程序(不像那里的许多可怕和令人沮丧的例子).如果您想尝试使用PhoneGap制作的感觉"原生"的应用,请尝试" Go 2012 ".Go 2012应用程序证明,如果您正确使用HTML5,您可以利用跨平台的硬件加速(iOS,Android,Blackberry和Windows Phone(我测试了所有)).Go 2012中的动画(滚动等)都是CSS3硬件加速动画.不要让PhoneGap展示的大多数应用程序的劣质品质欺骗你!