<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Is AS3 Ready For Prime-Time? (part 1)</title>
	<atom:link href="http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/</link>
	<description>FLASH :: FLEX :: AIR :: ILLUSTRATION :: ANIMATION :: WEB DEVELOPMENT</description>
	<pubDate>Wed, 08 Sep 2010 02:35:56 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: taterboy</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-183</link>
		<dc:creator>taterboy</dc:creator>
		<pubDate>Fri, 14 Nov 2008 20:55:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-183</guid>
		<description>I am totally a hands on developer, I am an artist first. I want to see how everything looks on screen and tweak it till it is perfect. 

One idea I have been messing with lately is using includes (include "actionScriptFile.as";) on the different  frames/states of my project. This way I can keep all my code organized and have my objects on different frames just like I did in AS2.

The code runs when the frame loads and I do not have to look all over the place for code. This is also an alternative to making everything into a class and exporting all your MovieClips to Action Script which screws up your loading screen.  I am not advocating this as a total and only solution, just another tool or method of working on the timeline, which I am still very partial to.</description>
		<content:encoded><![CDATA[<p>I am totally a hands on developer, I am an artist first. I want to see how everything looks on screen and tweak it till it is perfect. </p>
<p>One idea I have been messing with lately is using includes (include &#8220;actionScriptFile.as&#8221;;) on the different  frames/states of my project. This way I can keep all my code organized and have my objects on different frames just like I did in AS2.</p>
<p>The code runs when the frame loads and I do not have to look all over the place for code. This is also an alternative to making everything into a class and exporting all your MovieClips to Action Script which screws up your loading screen.  I am not advocating this as a total and only solution, just another tool or method of working on the timeline, which I am still very partial to.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan Henson Creighton</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-178</link>
		<dc:creator>Ryan Henson Creighton</dc:creator>
		<pubDate>Sat, 08 Nov 2008 01:04:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-178</guid>
		<description>The problem Aodbe has created with this bug is that they've completely screwed up the workflow for many people approaching Flash from the design side.

My preferred workflwohas me setting up game states - title, game, win, lose, high scores - on labelled frames.  i'd put all my code in the first frame and say stuff like

initGame = function():Void
{
    gotoAndStop("game");
     someJunkOnTheStage.doStuff();
}

This does not work in Actionscript 3.  Instead, i have to set up my game states in separate movieclips and instantiate them, and then add them to the display list.  This is already a lot more work.  And what it prevents me from doing is DESIGNING my game.  Codeheads are happy just throwing elements at the stage from the library and positioning them in code, but for those of us born with EYEBALLS, we like to actually see how things are going to look before our work is compiled.

If a button is sitting too far to the left, i'd much rather grab it with the mouse and move it over, seeing the result instantly, than to adjust a line of code from myBtn.x = 300 to myBtn.x = 310 (or 320 or 330 or 331.5 or who the Hell knows?)

My current workaround, and i'm not happy about it, is to lay out the game states with comments instead of frame labels.  Then i put my game screens into movieclips, and put those movieclips on the stage in a guided layer.  This way, everything's laid out the same way, and i can futz with stuff the way i used to, but am forced to program and use a GameScreenManager class to add and remove the screens and prompts to and from the stage.

So, in a word, "GRR".</description>
		<content:encoded><![CDATA[<p>The problem Aodbe has created with this bug is that they&#8217;ve completely screwed up the workflow for many people approaching Flash from the design side.</p>
<p>My preferred workflwohas me setting up game states - title, game, win, lose, high scores - on labelled frames.  i&#8217;d put all my code in the first frame and say stuff like</p>
<p>initGame = function():Void<br />
{<br />
    gotoAndStop(&#8221;game&#8221;);<br />
     someJunkOnTheStage.doStuff();<br />
}</p>
<p>This does not work in Actionscript 3.  Instead, i have to set up my game states in separate movieclips and instantiate them, and then add them to the display list.  This is already a lot more work.  And what it prevents me from doing is DESIGNING my game.  Codeheads are happy just throwing elements at the stage from the library and positioning them in code, but for those of us born with EYEBALLS, we like to actually see how things are going to look before our work is compiled.</p>
<p>If a button is sitting too far to the left, i&#8217;d much rather grab it with the mouse and move it over, seeing the result instantly, than to adjust a line of code from myBtn.x = 300 to myBtn.x = 310 (or 320 or 330 or 331.5 or who the Hell knows?)</p>
<p>My current workaround, and i&#8217;m not happy about it, is to lay out the game states with comments instead of frame labels.  Then i put my game screens into movieclips, and put those movieclips on the stage in a guided layer.  This way, everything&#8217;s laid out the same way, and i can futz with stuff the way i used to, but am forced to program and use a GameScreenManager class to add and remove the screens and prompts to and from the stage.</p>
<p>So, in a word, &#8220;GRR&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: taterboy</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-111</link>
		<dc:creator>taterboy</dc:creator>
		<pubDate>Fri, 25 Jul 2008 15:00:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-111</guid>
		<description>That is a great discussion. I found that when I was looking for a solution. It was past midnight and I was knee deep in a game conversion from AS2 to AS3, but neither stage.invalidate() or frameScript tips worked in my case. I would definitely do something different if I was building something from scratch. Now that I know.</description>
		<content:encoded><![CDATA[<p>That is a great discussion. I found that when I was looking for a solution. It was past midnight and I was knee deep in a game conversion from AS2 to AS3, but neither stage.invalidate() or frameScript tips worked in my case. I would definitely do something different if I was building something from scratch. Now that I know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pault107</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-110</link>
		<dc:creator>pault107</dc:creator>
		<pubDate>Fri, 25 Jul 2008 14:34:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-110</guid>
		<description>Hmm, it looks like I misunderstood the issue. I just did a quick Google and I can see that many people are having issues with this.

E.g - http://www.richardleggett.co.uk/blog/index.php/2008/02/18/enabling_access_to_timeline_items_in_as3

It's interesting that I've been using AS3 daily for the last year, have coded many apps and games and I haven't come across this issue. I'm guessing that's because I rarely use the timeline.

Sounds like the issue is a bit of a nasty one though if it affects you. Why haven't Adobe issued a patch for player 9? Seems a bit odd, unless the fix isn't possible without a major overhaul of the code.</description>
		<content:encoded><![CDATA[<p>Hmm, it looks like I misunderstood the issue. I just did a quick Google and I can see that many people are having issues with this.</p>
<p>E.g - <a href="http://www.richardleggett.co.uk/blog/index.php/2008/02/18/enabling_access_to_timeline_items_in_as3" rel="nofollow">http://www.richardleggett.co.uk/blog/index.php/2008/02/18/enabling_access_to_timeline_items_in_as3</a></p>
<p>It&#8217;s interesting that I&#8217;ve been using AS3 daily for the last year, have coded many apps and games and I haven&#8217;t come across this issue. I&#8217;m guessing that&#8217;s because I rarely use the timeline.</p>
<p>Sounds like the issue is a bit of a nasty one though if it affects you. Why haven&#8217;t Adobe issued a patch for player 9? Seems a bit odd, unless the fix isn&#8217;t possible without a major overhaul of the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Al</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-107</link>
		<dc:creator>Al</dc:creator>
		<pubDate>Thu, 24 Jul 2008 23:48:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-107</guid>
		<description>This is a well documented issue/bug/whatever you want to call it.    In AS2 children are available after a gotoAndStop/Play in AS3 they are not.

Maybe I'm insane but having to wait N frames, hook into the ADDED event, hack a frame-script in with addFrameScript or listen for a RENDER event is definitely not enforcing best practices!   Try explaining to a junior developer or one of your designers that they need 18 lines of code to target that clip after a gotoAndStop/Play.    

This is a glaring oversight by Adobe, even their own developers say as much - hence the Event.EXIT_FRAME added to player 10.</description>
		<content:encoded><![CDATA[<p>This is a well documented issue/bug/whatever you want to call it.    In AS2 children are available after a gotoAndStop/Play in AS3 they are not.</p>
<p>Maybe I&#8217;m insane but having to wait N frames, hook into the ADDED event, hack a frame-script in with addFrameScript or listen for a RENDER event is definitely not enforcing best practices!   Try explaining to a junior developer or one of your designers that they need 18 lines of code to target that clip after a gotoAndStop/Play.    </p>
<p>This is a glaring oversight by Adobe, even their own developers say as much - hence the Event.EXIT_FRAME added to player 10.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pault107</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-105</link>
		<dc:creator>pault107</dc:creator>
		<pubDate>Wed, 16 Jul 2008 11:48:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-105</guid>
		<description>EDIT: I take it back - your example does work in AS2 - I forgot to change the .visible to ._visible for the AS2 version. Hmm, that's not what I expected. Now I see your point, but I would say it's something you'll just have to get used to a it's not a bug, AS3 just enforces best practices more stringently.</description>
		<content:encoded><![CDATA[<p>EDIT: I take it back - your example does work in AS2 - I forgot to change the .visible to ._visible for the AS2 version. Hmm, that&#8217;s not what I expected. Now I see your point, but I would say it&#8217;s something you&#8217;ll just have to get used to a it&#8217;s not a bug, AS3 just enforces best practices more stringently.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pault107</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-104</link>
		<dc:creator>pault107</dc:creator>
		<pubDate>Wed, 16 Jul 2008 08:14:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-104</guid>
		<description>Hey Taterboy

The example you give in your above reply wouldn't work in AS2 or AS3. All code is executed *before* the frame moves forward, so even though you code gotoAndStop(2) before setting the button visibility, you don't hit frame two until all of the code on frame one is executed. So, when setting someBtn.visible to false the button wouldn't exist and would remain visible when advancing to frame 2. With AS2 this would fail silently, AS3 will throw a run time error - I just tried it to make sure.</description>
		<content:encoded><![CDATA[<p>Hey Taterboy</p>
<p>The example you give in your above reply wouldn&#8217;t work in AS2 or AS3. All code is executed *before* the frame moves forward, so even though you code gotoAndStop(2) before setting the button visibility, you don&#8217;t hit frame two until all of the code on frame one is executed. So, when setting someBtn.visible to false the button wouldn&#8217;t exist and would remain visible when advancing to frame 2. With AS2 this would fail silently, AS3 will throw a run time error - I just tried it to make sure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: taterboy</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-97</link>
		<dc:creator>taterboy</dc:creator>
		<pubDate>Mon, 14 Jul 2008 14:17:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-97</guid>
		<description>Great comments. let me try to clarify.
Say I build a simple app. On the first frame is a loader, on the second I have an image and a button. I place all my loader code on frame one, then a handler on frame one that could look something like this.

function imLoaded(ev:Event):void{
   gotoAndStop(2);
   someBtn.visible =false;
}

The code advances the playhead to frame 2, now does the button exist? I have not called the btn until the playhead advanced

In AS2 this works fine. It is does not error out, because the button does go invisible. In AS3, this code works fine once the Display Object List updates. My solution above is basically says after a frame event, execute this code, the code on frame one. Maybe I am wrong,  but It seems that the display list is updated before code execution in AS2 and reverse in AS3.

I agree with your comments above, that is this probably not the correct way to do this, but it is practical and has worked in the past. The object would not require using code on every frame, maybe in a document class or neatly condensed on frame  one.

Thanks all for the interest in the blog and your comments. They are helpful to me as a designer and hopefully others in the same boat.</description>
		<content:encoded><![CDATA[<p>Great comments. let me try to clarify.<br />
Say I build a simple app. On the first frame is a loader, on the second I have an image and a button. I place all my loader code on frame one, then a handler on frame one that could look something like this.</p>
<p>function imLoaded(ev:Event):void{<br />
   gotoAndStop(2);<br />
   someBtn.visible =false;<br />
}</p>
<p>The code advances the playhead to frame 2, now does the button exist? I have not called the btn until the playhead advanced</p>
<p>In AS2 this works fine. It is does not error out, because the button does go invisible. In AS3, this code works fine once the Display Object List updates. My solution above is basically says after a frame event, execute this code, the code on frame one. Maybe I am wrong,  but It seems that the display list is updated before code execution in AS2 and reverse in AS3.</p>
<p>I agree with your comments above, that is this probably not the correct way to do this, but it is practical and has worked in the past. The object would not require using code on every frame, maybe in a document class or neatly condensed on frame  one.</p>
<p>Thanks all for the interest in the blog and your comments. They are helpful to me as a designer and hopefully others in the same boat.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yan</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-90</link>
		<dc:creator>Yan</dc:creator>
		<pubDate>Mon, 14 Jul 2008 02:50:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-90</guid>
		<description>This isn't a bug, your code is constructed on the first frame (would you prefer the code created after your first frame??!) - so it cannot access something on the second frame. Scope of timeline + scope of code, sounds reasonable.</description>
		<content:encoded><![CDATA[<p>This isn&#8217;t a bug, your code is constructed on the first frame (would you prefer the code created after your first frame??!) - so it cannot access something on the second frame. Scope of timeline + scope of code, sounds reasonable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pault107</title>
		<link>http://www.taterboy.com/blog/2008/07/is-as3-ready-for-prime-time-part-1/comment-page-1/#comment-88</link>
		<dc:creator>pault107</dc:creator>
		<pubDate>Sun, 13 Jul 2008 19:22:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.taterboy.com/blog/?p=14#comment-88</guid>
		<description>I agree with Ante, I don't see any change between AS2 and AS3 in this respect, except wih AS3 you're correctly warned about your error at runtime rather than failing silently. Why would you want to access an object before it exists? That doesn't make sense.</description>
		<content:encoded><![CDATA[<p>I agree with Ante, I don&#8217;t see any change between AS2 and AS3 in this respect, except wih AS3 you&#8217;re correctly warned about your error at runtime rather than failing silently. Why would you want to access an object before it exists? That doesn&#8217;t make sense.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
