Resources for Learning ActionScript 3.0 as a Professional Programmer - actionscript-3

I will be teaching myself ActionScript 3.0. I'm a professional programmer with great knowledge of C++, C#, Objective-C and Java. Is there any good source for learning the language that doesn't take a lot of space teaching the reader OOP and other beginner level information? More like "classes in ActionScript differs from classes in C++ in these regards ...". I'm looking for something like "C# for C++-developers".

I'd recommend reading over Colin Moock's "Essential ActionScript 3.0," published by O'Reilly, to get familiar with the language. Either that, or Adobe's "Programming ActionScript 3.0," which is provided with the Flash or Flex IDE.
Beyond those, I'd recommend the ActionScript 3.0 Language Reference. Just keep that handy and you'll eventually memorize the most common APIs.

Here are a few I found by googling 'actionscript for java developers':
JavaWorld Article
InfoQ Article
DZone Article
Waiting for other resources to show up here :)
Most actionscript 3.0 books do cover the basics( I don't think there is a way around that).
Probably the Flex And Java titles might be more relevant.

If I were you, I'd bite the bullet and do a few simple, silly tutorials just to get started and understand the environment. It wouldn't take very long just to familiarize yourself with the core concepts.
Once you know the very basics, you can set yourself an interesting mini-project (maybe a simple game?) and learn incrementally from the online documentation, which contains good code examples that show a lot of the API's functionality.

I would also recommend Colin Moock's "Essential ActionScript 3.0,".
Another good source that I found useful is a series of Adobe video tutorials you can find here: http://www.adobe.com/devnet/flex/videotraining/

Related

About Adobe Gaming SDK?

I have no programming experience at all. I've always wanting to know how to program games and have some fun with it. I started with Corona SDK because I heard it was really simple (and it was very simple), but I decided against continuing in it (I had only programmed a character to jump until I realized --> ) because I realized that when I advance in it, I am going to end up having to pay for it.
In my search for a new cross-platform sdk to learn (since I don't have time, like most people, to learn and program 15 different apps in 15 different native languages), I found Moai SDK. I was turned away from Moai since its target audience are people with prior programming experience.
Later, I found Adobe Gaming SDK. Although I doubt it is in any way as simple to pick up as Corona's Lua, if I figured if I have to learn something knew, I may as well learn something new that is as established as Adobe and their gaming SDK.
I have a few questions though...
1) What language does Adobe Gaming SDK use? (Pretty sure it is Action Script 3, but I do not know much about that either.)
2) Just how cross-platform is it? (Which devices?)
3) Where do I start!
4) Is it free?
#3 is the most important question for me since I don't have any programming experience, but I am willing to learn on my own. Honestly, I only want to learn how to program (2D) games; therefore, is there a source you can direct me to in order for me to learn from scratch and just gaming.
Any and all help is greatly appreciate!
P.S. If you have any other SDK or something that you think could suit me please help. Also, I am a cheap person, so i would prefer for resources to be free as well. Also, please check back if you answered my question because I sometimes forget a question or will have a follow question since I am a major novice.
THANKS!
1) What language does Adobe Gaming SDK use? (Pretty sure it is Action
Script 3, but I do not know much about that either.)
Yeah, it's ActionScript3. You can also code in C/C++ using CrossBridge.
2) Just how cross-platform is it? (Which devices?)
Using Adobe Integrated Runtime (AIR, for short), you can make your game available to several devices running iOS, Android and Windows, as long as they have the minimum requirements to run AIR.
Your game will also run on any browser with the Flash plugin, which includes Linux, Mac and Windows.
3) Where do I start!
There are plenty of materials about game development in Flash/Actionscript3, but I would recommend you to learn about a game engine first. It will make your life easier and will help you make a game faster (which will boost your motivation).
Two famous Flash game engines are Flixel and Starling. Start by checking these GamedevTuts+ guides: how to learn Flixel and how to learn Starling (there is an article about how to learn Flash/AS3 too).
4) Is it free?
Yes, all the tools you will need are free.
As a general advice, I would recommend you to take a look at GamedevTuts+. It has several resources about game development, from simple concepts to more advanced things. You will find articles for people with no programming experience at all. It's a great place to start as a novice game developer.
As a second advice, you could also use Phaser to create your games. It's an easy to learn HTML5 game engine, it doesn't require several tools to develop with (all you need is a code editor and a web server) and your game will run on any modern browser.

What is the limitation of Actionscript 2.0?

I would like to know if you have ideas about the LIMITATION of AS2.0? I've done some research about the difference of AS2.0 and AS3.0 but I need to have a clear understanding about the limitation of AS2.0 in order for me to confirm that AS3.0 is superior than its predecessor before I continue my study in AS3.0. Thank you.
I used to develop games in ActionScript 2. I was very resistant to ActionScript 3 when it came out - I didn't even touch it until about 2 years after it was released.
When I finally did make the effort to learn it, I became frustrated with myself for not learning it sooner. It was so much cleaner and more powerful. I was able to create actual libraries for future projects as I worked, and download libraries for things that I didn't have the brain to develop myself, like physics.
It is extremely beneficial for you to learn ActionScript 3 - first off, lets look at what's happening with the two:
AS2 is being removed from future releases of Flash.
AS3 is still being worked on. A noteworthy example of this is the recently developed Stage3D API, which grants extremely efficient rendering for Flash.
Here are some core advantages of AS3 vs AS2:
It's object oriented. This is almost mandatory when working with large applications or games.
Because of this, there are hundreds of libraries available for AS3 that cover things like physics, particles, animation, MVC concepts, rendering improvements, etc.
Much nicer to use.
Easier to extend your knowledge once you get a grasp of the basics of object oriented programming.
It performs a lot better.
Easier to recycle code for future projects.
Learning ActionScript 3 will greatly improve your chances of being able to pick up additional popular languages like C#, Java, PHP and so on.
Much easier to find support - take a look at the quality of answers on Stack Overflow between AS2 and AS3.
You can create AIR applications, which can be built for iOS and Android devices.
The only reason you need to care about is that it's an obsolete language. Don't waste your time with AS2. There's a quantum leap from AS2 to AS3, not only in terms of what you can do, but in terms of the quality of the language itself.
As someone who made the transition in 2007 to AS3 (after using AS2 since 2000) here are the main advantages:
Speed. When it was released, AS3 was 10 times faster than AS2. Today considering all the new features Adobe is introducing like Native Extensions, it's a lot faster than that.
Publishing to mobile or dekstop apps. Face it: browser Flash is slowly dying.
New features such as Stage3d or StageVideo.
Learning AS3 will make you a better coder
AS2 is no longer supported in Flash Professional, so if Flash Pro is part of your design cycle or you ever want it to be, that's obviously a big limitation. (Adobe has said that the Flash Player will continue to support AS2, though, so if you don't use Flash Pro to develop you can still get by).
In terms of functions/behaviors that exist in AS3 but not AS2, Stage3D is one. I'll leave it to someone else to make a list, but basically, AS3 is the better (and definitely faster) choice for any situation I can think of.

ActionScript: Can I start learning ActionScript directly from As3

I need to learn ActionScript. I have no basic knowledge on ActionScript. Can I directly start learning ActionScript3 or I have to start with ActionScript1. please guide me along with some tutorials.
Thanks.....
ActionScript 1 and ActionScript 2 are rather unrelated and obsolete languages for Flash Player. If you're targeting Flash Player >= 9 (I suppose so) the knowledge of AS1 and AS2 can confuse you.
So you can learn AS3 from scratch without any knowledge of AS1 and AS2. It is the most preferable way for now.
You can learn AS3 directly.
this is a good website that I have used for tutorials
http://www.republicofcode.com/tutorials/flash/
Sure you can. There are a number of tutorials/books on AS3. Please google for them. AS3 Cookbook and Programming AS3 from Adobe are two good resources on AS3.
it's actually better to start with learning ActionScript 3.0 since it's quite different than ActionScript 2.0 in many aspects not knowing it you won't have to unlearn all that has changed.
they are practically different languages.

Are there any good tutorials for learning AS3 with FlashDevelop?

I found this question, and it mentions the FlashDevelop wiki. However, I couldn't find anything there at all.
Where is a good place to start? I have done some work with MXML projects using the Flex SDK, but never any ActionScript programming.
I have a tutorial to get Flash Develop up and running and a quick primer into actionscript on my blog.
Sorry for the shameless self promotion, but I figured it's relevant.
The official Adobe site has a nice Getting Started guide for AS3 together with some sample code. Getting Programming ActionScript 3.0 or the complete Complete Flex 3 Documentation # the official Flex docs site should be very useful too.
Apart from the official docs, I found this tutorial quite useful while doing a small project with Flashdevelop + AS3. It's not complete but does get you started.
Hope this helps.

Resources for Learning Pure AS3

Similar question: Best Resources for Learning AS3
I am interested in learning AS3 and have downloaded FlashDevelop and played around with it a bit, learning some of the fundamentals. However, when I attempt to start on any relatively simple project (eg. a multipage document) I get completely lost and have no idea how I should build my project. Are there any resources, tutorials, 'cookbooks' etc. that teach actionscript 3 through example projects. I keep finding books that explain the fundamentals of the actionscript syntax or tutorials that explain how to use actionscript to complete a task in the Flash IDE but this is not what I am after.
Where can I learn how to create projects in pure AS3 without the aid of the Flash IDE or Flex? I don't mind if I have to create assets in the Flash IDE that I then compile to .swf or .swc for use in my actionscript code.
My advice is: learn Flex focusing strongly on MXML, or learn Haxe.
AS3 is verbous, unexpressive and unproductive compared to those two.
edit: you can check out the AS3 cookbook. nonetheless, after rereading your post, I've come to understand, that your problem is not learning AS3, but you're rather having design problems. Am I correct?
edit2: "Is it uncommon for people to work in pure AS3?"
I wouldn't say, it's uncommon. I'd say it's even common, i.e. a common mistake. Why? It's inefficient. I think, I can tell, because I did that a lot.
the main role of pure AS3 is to create libraries and frameworks. To create actual apps, it is really the hardest way one can choose. In all handmade apps, GUI turns out to be the most time consuming part. Laying out GUI using code is a nightmare.
Now MXML is really great for normal GUIs (a graphical editor is even better of course). And the Flash IDE is great for creating funky animated things. The best thing you can do with AS3 is take ASWing and their GUI-editor. As nice as ASWing is, its ugly and a pain in the arse to skin. But, you can.
The advantage of Haxe is, that its a more powerful language than AS3. You effectively write less code, and its signifficantly more typesafe, so you run into less errors and spend less time debugging. Also, another advantage is, that you can use the same language for creating a serverside backend for the app and pass objects transparently to it, using Haxe remoting, which cuts the transport layer down to nothing. All validation and business logic can run both on client or server. Plus it's open source and it evolves very fast. AS3 was a great thing when it came, but it has stalled eversince, which is nearly 4 years now.
So while there's nothing wrong using pure AS3 per se, you always have to compare it to the alternatives. Pure AS3 is inefficient and for geeks. Flex is highly efficient. Haxe is more efficient than AS3, and is for the really cool geeks.
Have you checked out Essential ActionScript 3.0 by Colin Moock that was in the other question? here is a preview on google books