我已经使用Corona SDK工作了一段时间,并且喜欢使用Lua创建功能强大的应用程序的快捷方式。但它只能编译iOS和Android,现在感觉太少了。
我的主要兴趣是能够编译到桌面和移动设备。至少对于以下内容:
我更倾向于更倾向于使用Lua类型的脚本而不是ActionScript,但请随意发布您曾经使用过的任何内容并热爱。
到目前为止,我找到了以下引擎:
Html5 ---似乎有很多关于html5移动应用的重点,这里只是我发现的一些工具可以帮助将html5项目移植到平台:
所以,如果您可以根据自己对任何引擎的经验发表评论并建议您推荐哪一个,我会感到高兴。 谢谢你的帮助!
编辑:由于这个主题越来越受欢迎,我将添加我随着时间的推移发现的其他选项。我建议你选择最熟悉的,最适合你的项目需求。答案 0 :(得分:8)
我会推荐V-Play(v-play.net) - 它是基于Qt的跨平台游戏引擎,适用于iOS,Android,Symbian,MeeGo,Blackberry10,也可以导出用于Windows的原生桌面应用程序, Mac和Linux。
它基于C ++,但对QML & JavaScript有一个简洁的脚本支持。 QML是一个不费脑子的学习,可以提高您的工作效率,因为需要的代码更少 - 只需查看与cocos2d-x(减少60%Loc)或Corona(减少15%LoC)的比较同样的游戏。
(免责声明:我是V-Play背后的人之一)
答案 1 :(得分:6)
如果您正在使用Python,Kivy这些天是一个很好的解决方案。它汇编到您要求的所有平台:
Kivy在Linux,Windows,MacOSX,Android和IOS上运行。您可以 在所有支持的平台上运行相同的代码。它本身可以使用最多 输入协议和设备,如WM_Touch,WM_Pen,Mac OS X Trackpad 和Magic Mouse,Mtdev,Linux Kernel HID,TUIO。多点触控鼠标 包括模拟器。
Kivy使用了大量优化的代码进行图形渲染(通过Cython),所以它也很快。
这是一个speakerdeck,它为您提供了一些背景和概述(特定于Android)。
答案 2 :(得分:5)
这是我的游戏框架Oxygine。 它是适用于移动和PC平台的开源现代硬件加速2D C ++框架。 功能:OpenGL(ES)2,压缩纹理,地图集,复杂动画/补间/精灵,场景图,字体,事件处理,构建工具等。 可以构建在SDL2或Marmalade SDK之上。
在引擎的基础上有一个场景图,类似于Flash图。简而言之,您可以将其称为Flash for C ++,但更舒适,更快捷。最初它是为移动平台(iOS,Android)开发的,但也可以用于PC游戏。
答案 3 :(得分:5)
HaxeFlixel怎么样?我们有很多demos选择,当然也支持通过Haxe + OpenFL进行跨平台开发。这是一个托管在GitHub上的开源项目。我们支持all major platforms(包括iOS)。
答案 4 :(得分:4)
这里没有提到App Game Kit (AGK)所以让我填补空白。它是一个主要的2D跨平台SDK,允许您用C ++或它自己的“基本”语言编写一次代码。版本2在Kickstarter上获得了超过400%的资金,并将获得完整的3D支持,Spine支持(2D动画角色),子弹物理和其他一系列新功能。
它已经有Facebook,Twitter,一堆超极本传感器命令,Box2D等等。我从一开始就一直在使用它并喜欢它(你能说出来吗?)。不,我不为The Game Creators(创建它的公司)工作,虽然我承认我确实做了一段时间制作一些应用程序。
从我的角度来看,最好的功能之一就是你可以在Windows上开发并通过Wi-Fi从IDE进行广播到任何支持的设备,所以当我编码时我可以(在几秒钟内)在iPad上测试我的代码,Android,Windows,Mac或Blackberry Playbook。
答案 5 :(得分:4)
如果你有C#背景。看看Duality。
Duality是一个完全用C#编写的灵活的2D游戏框架 - 它就是为了让你的事情变得更轻松。它提供了两者 可扩展的游戏引擎和可视化编辑器。将有 不需要关卡编辑器,测试环境或内容管理器 因为二元性本身就是一切。最重要的是:它是免费的。
答案 6 :(得分:2)
我只是回答您如何使用SDL的一些见解。如前所述,它不是游戏引擎(实际上它只是一个库)。此外,它根本不是面向对象的,你没有一些简单的动画设施(你必须自己编写代码)。
它是如何工作的(我使用的是C版但我猜Lua绑定应该类似):
包括在所需平台上构建项目所需的标题。
设计自己的游戏循环,在其中设置(至少)整个事件处理系统,帧速率管理器和“屏幕清理器(或更新程序)”(我坚持你必须手动的事实使用SDL_flip_screen例程刷新您的屏幕,这与Corona完全无关。
然后,使用您之前制作的所有“机制”对游戏进行编码。
SDL是一个低级库(不要指望有一个易于使用的GUI框架或Corona的故事板框架)。
最后,这个库被用来将Civilization III移植到Linux上,所以是的它可以工作,但它会让你有很多精力来获得与Corona一样的东西;)
PS:我不是母语为英语的人,所以如果我不清楚,请告诉我。)
答案 7 :(得分:2)
Gideros is a great Lua based 2d cross platforms engine,目前支持Android和IOS平台,但还有更多内容。 它还具有一些强大功能,如即时设备测试,自动缩放和自动图像分辨,可轻松定位各种屏幕尺寸,以及通过本机插件扩展每个平台的选项。
答案 8 :(得分:1)
你还有ShiVa3D,Unity3D的一个重要竞争对手。 它使用Lua并支持从移动设备到游戏控制台和Web浏览器的许多平台。
使用起来非常直观,并且可以使用非常好的UI。