as3 Why use starling for games on Android and IOS devices? - actionscript-3

I have a nice setup where I publish, compile, design, etc. in Flash Pro CS5.5 and write as3 code (and some xml) in Sulbime Text 2.
Being forced to import each image or generate a sprite sheet seems like a such a hassle for nothing.
My apk apps work fine use mouse events, so what's the point in switching to starling?

I can answer you with 3 letters FPS.
You are getting a big boost in performance as you are working with law level API of Adobe Stage3D. And you do not need to worry about how to handle it because starling is warping it for you with nice 2D game Engine.
I suggest you to work with Starling for core game development and Gazman SDK for UI.
How ever there is one problem with starling. It does not have native support for vectors, so scaling could be a problem in many cases, spatially when building android application that you want to support in many screen resolutions. You can read this post about starling solution for that problem.

Related

Can I use the effects made in Adobe After Effects in the game developed with Adobe Flash Pro and ActionScript 3? If so how?

I am developing a 2D game using Adobe Flash Pro CS 6 and ActionScript3. I am having some trouble in developing some effects e. g. bomb blast, particle effects etc. I want to know, whether I can use After Effects for those and then use them the game. Please suggest me.
There's no problem of using any graphics data from any program in Flash as long as flash can support the file format.
In case of After Effects graphics, you'll probably have to export them as a PNG file sequence, so they'll most probably be pretty large in file size.
To import:
You can either make a movie clip and just import the first image of a sequence with CRTL/CMD + R and Flash with be "smart" enough to suggest to load the other files of that sequence.
If you want, you can load them during run-time, add them to the array/vector, create a Bitmap object and change it's bitmapData property on enter frame/timer to animate it.
If you are decided on using the actual After Effects graphics rather than emulating them using an Actionscript 3 particle effect, I'd actually recommend exporting them as video on an alpha channel and then converting that to flv and then hosting them individually and streaming them in via Netstream and placing them on the proper layer via an addchild. If bandwidth isn't a huge concern here, this would be a good method for achieving this effect.
Here is some documentation on Netstream. http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d4e.html
If this seems like it might achieve the desired result, I can explain further if needed.

Scale Flash desktop app to iPhone/Android phone size

I have several games that were built 800*600 and need to convert them to run on the iPhone.
Are there any "easy" frameworks to convert the application without having to create all new images for Flash/AS3?
I was reading about starling but I don't see any way to easily convert our application witout rewriting a lot of it.
Thanks.
It totally depends on your existing games. If they use a lot of vector graphics and full screen animation, performance will become an issue. But if you use a lot of bitmaps already, and not much animation, you might get away with just porting your games to AIR.
Flash CC has options to export assets to Bitmaps even if they were created using vectors ("Export as Bitmap").
You can optimize performance by using cacheAsBitmap on certain graphics (also look at cacheAsBitmapMatrix) but there you will enter rewrite territory.

Refactoring for starling

I'm making a flash app for AIR. The app is mostly made, but I'm not happy with rendering speed on mobile (render mode - gpu).
I know there is a framework that allows user-friendly way to work with Stage3d called Starling, but I've never used it.
After looking into it and following through some tutorials I've noticed that I need to rename all package flash default classes, e.g flash.display.DisplayObject -> starling.display.DisplayObject.
But such action might be destructive to my code base, plus, I have other frameworks attached that work with some flash package classes.
Is there a way to attach Starling to a complete project without re-naming all the package names, changing assets and re-factoring all frameworks that work with default AIR API?
If you're thinking of switching to Starling, you'll have to redesign your whole rendering code. Starling is no drop-in solution. Just renaming classes in your existing code will not do because it completely replaces flash display list for Direct3D, which does all it's rendering with GPU, with all the differences it brings: bitmapped graphics, texture atlases, careful draw ordering. Learning curve can be a bit steep in the beginning but once you get familiar with basic concepts it's a breeze to work with.
IMHO, it's well worth the effort, especially on mobile. Code that ran in low 10s of FPS in classic display list can easily be made to run at solid 60fps with Starling. Basically, for flash on mobile, Stage3D is the only game in town. And Starling is the best supported and widely accepted framework for 2D stuff on Stage3D, with lots of supporting libraries and a very helpful community of developers.
Go on, take the plunge, you won't regret it.
You can run Starling and a native flash application layer at the same time but it wouldn't give you an optimum experience.
If you want to take full advantage of the gpu acceleration of Stage3d and Starling though it would be preferable to refactor your existing code to use Starling display objects rather than Flash display objects.
You might want to post this question on the Starling forum, they are very helpful guys and it's a thriving developer community! - http://forum.starling-framework.org

Are there any ActionScript 3 components/UI optimised for use in Adobe AIR touch/mobile applications?

I have been searching for about a week now and found such pure AS3 UI/components:
What I'm trying to create is (Adobe AIR mobile) options/settings menu for game and depending on the size/pixel density of a particular screen
may require scrolling down options, mimicking the scrolling lists of Android with visual indicator of list location and the visual clue when reaching the end of the list
with the inertia too
MinimalComps (minimalcomps.com)
Razorberry (razorberry.com/blog/components/)
But they are all optimised for mouse clicks and use scrollbars as the interaction area for example
(uses minimalcomps, try to use it in browser on mobile touchscreen, very fiddly to use, in fact had to zoom in just to get past the conditions screen(!!))
I've had no luck finding any information or tutorial to create menu system in Adobe AIR mobile in pure AS3 (it usually just links to Flex or AIR desktop applications)
I only found one example of game pure AS3 with source to show, http://blogs.adobe.com/cantrell/archives/2010/05/my_presentation_on_multiscreen_development.html
but it doesn't show you how to implement basic touch menus/UI or interface,
I've been meaning to give mad components a try, they look very promising. Not sure if they'll solve your particular problem, but they do seem to outperform a similarly equipped Flex app (based on other developer's comments ;)
Look at foxhole components :
source and example
And You can also look at this project i working on , its extension for MinimalComps that works like Flex display system and have databinding . With little style work and extend few components You can use it on touchscreens.
source: https://github.com/turbosqel/Extended-MinimalComps
example: http://turbosqel.pl/ExMinimalComps/simple/
Feathers UI powered by Starling (fully GPU-rendered UI)
Its officially supported by Adobe, 100% open source and skinnable. See apps and games that use it for their UI. Docs are here.
This is the recommended method as of 2014-2015. For example, foxhole components is now depreciated in favor of Feathers.

Actionscript 3D engine

I'm new to 3D, so asking for help. I need to make walking simulator on AS3: first-person view, moving through rooms and corridors. I don't need any physics, only moving and looking. Could someone tell me, what's the best actionscript-3 3d framework to implement needed functionality? Explanation is welcome :) Thanks!
Away3D. Best open source (and probably best of all) 3D engine on flash. You can either do this using the old away3D version for flash player 10 and under, or using away3D for the new Molehill 3D api's. Links:
Away3D 4.0 (Molehill APIS)
http://away3d.com/
Away3D 3.5 For Flash 10 and under
http://away3d.com/away3d-3-5-0-2-5-0-released
Post on an animated walk-cycle done programatically in real-time using (I believe) away3d. Also discusses pros/cons somewhat of away3d.
http://www.everyday3d.com/blog/index.php/2009/02/09/making-things-walk-in-flash-3d/
Also the away3D SVN is packed full of demo's with source code for all of these things you see in the links + much more.
http://code.google.com/p/away3d/source/browse/#svn%2Ftrunk
Note that the broomstick branch in the trunk is the away3D 4.0 branch, targeting the beta flash player 11. More NFO on that here:
http://blog.ascensionsystems.ca/?p=147
I see that Away 3d has been mentioned already
the other options are Alternativa and nd3d
beyond that you might want to look into flare3d and unity3d.
Papervision looks like it's not keeping with times, but pretty similar to away3d, more resources()tutorials), but no molehill APIs