Hey,
I'm writing a simple game based on my physics engine for Android (in Java). Because I want to play with some special graphic effects performance is very important for me. I read on the Internet that you can write an application in ActionScript3 and then just export it as an iPhone/iPad or Android application. That means, I wouldn't have to rewrite everything from Java to Objective-C if I wante开发者_运维问答d to make version also for iPhone.Do you have any experience with writing games in ActionScript3 for both Android and iPhone/iPad? Are there any significant advantages / disadvantages?
I have made games with both AndEngine and air for android. Air for android is vastly slower. If you game needs performance, Air 2.6 - the current release - will not be able to handle it.
AIR 2.6 can handle simple games. One with a little performance to spare.
I am hopeful that AIR 2.7 (in beta now) will improve things, since it supports OpenGL. But for now I would have to say stay away from AIR for performance games.
To see an example of a simple game made with AIR, check out this one made my a friend of mine: http://www.appbrain.com/app/kibble-katchers-free/air.com.munchiegames.KibbleCatchersFree
It plays OK, but chugs sometimes if you have a lot of things going on at once. If your game is going to be more intensive than that, pass on AIR.
In my experience, it's always better to write applications in the native language for the device. Of course, depending on the scale of your game, the advantages may not matter. When using Flash to export to iOS, you are limited to what you can access on the phone (like UI widgets and features like accessing the camera). I've also read that Adobe is not going to include this feature in future versions of the Creative Suite. So you may lose support for your game. In my opinion, there are better tools to develop for both devices. Check out Corona or Unity.
MY impression is no, not a good idea until they get the performance up. Though this post makes it look pretty decent. Ive done an app for the playbook, and the simulator rendered it just fine, but once I saw it on the actual device it was pretty slow. I didn't realize there was a scroll box already there, and I made my own implementation with on enter frame listener and it was pretty slow.
If you're going for an iOS, then you end up with bigger file sizes. So while flash/as3 is great for prototyping and some simple applications, I would suggest using lower level language that doesn't have to be reinterpreted.
Perhaps the AndEngine could be something for you. It's a 2D Game Engine for Android and it supports physics. I played a little bit with it and it's really powerful but simple to use.
Performance is great, but think also about your game success in audience coverage - the flash is easy on web embedding. The flash is platform and its VM continuously enhanced due performance needs as well as mobile hardware. Try to write once and for all as possible)
精彩评论