<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bunnyhero dev &#187; Flash</title>
	<atom:link href="http://www.bunnyhero.org/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bunnyhero.org</link>
	<description>Notes on iPhone, Flash and Web development</description>
	<lastBuildDate>Mon, 07 Nov 2011 21:49:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Exploring Flixel</title>
		<link>http://www.bunnyhero.org/2011/03/07/exploring-flixel/</link>
		<comments>http://www.bunnyhero.org/2011/03/07/exploring-flixel/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 03:35:20 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Video games]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=531</guid>
		<description><![CDATA[Flixel is a free, open source 2D game engine built in ActionScript 3, from Adam Atomic, creator of Canabalt and other games. I became especially curious about Flixel ever since the iOS version of Canabalt went open source at the end of 2010. Both the Flash and iOS versions of Canabalt use Flixel. I understand [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.bunnyhero.org/wp-content/uploads/2011/03/flixel-header.png" alt="exploring flixel" title="exploring flixel" width="500" height="171" class="aligncenter size-full wp-image-546" style="margin: 0" /><br /><a href="http://flixel.org/">Flixel</a> is a free, open source 2D game engine built in ActionScript 3, from <a href="http://adamatomic.com">Adam Atomic</a>, creator of <a href="http://www.canabalt.com/">Canabalt</a> and other games. I became especially curious about Flixel ever since the iOS version of Canabalt <a href="http://blog.semisecretsoftware.com/nearly-25000-raised-for-charity-canabalt-goes">went open source at the end of 2010</a>. Both the Flash and iOS versions of Canabalt use Flixel. I understand that the iOS port of Flixel is still early, and from what I can tell, documentation for the iOS port is essentially nonexistent as of yet.</p>
<p>Regardless, here is my plan:</p>
<ol>
<li>Learn Flixel and create a game</li>
<li>Port it to iOS <em>[EDIT: that is, port <strong>my game</strong> to iOS, using the Flixel iOS port that is in the Canabalt source]</em></li>
<li>???</li>
<li>PROFIT!!!</li>
</ol>
<p>&#8230;all while blogging about the experience, of course. At least, that&#8217;s the idea &#8212; no promises that I&#8217;ll actually get very far! If I get really ambitious I might even write a tutorial at some point.</p>
<h3>First experiences</h3>
<p>Getting started with Flixel was pretty easy, thanks to the &#8220;Hello, World&#8221; tutorials available on the <a href="http://flashgamedojo.com/wiki/index.php?title=Category:Flixel">Flash Game Dojo wiki</a> (which appears to be the main documentation hub for Flixel). After that I wasn&#8217;t sure where to go next, since the documentation is a bit scattered and disorganized. I did find some great info on the <a href="https://github.com/AdamAtomic/flixel">Github project page</a> and <a href="https://github.com/AdamAtomic/flixel/wiki">wiki</a>, which oddly is not linked to from the Flixel home page (as I said, a bit scattered). Perhaps Flash Game Dojo is where all the action is supposed to be now? I&#8217;m not really sure.</p>
<p>What I&#8217;m finding most helpful right now are the very simple example games, complete with source code, provided by Adam Atomic, which are a great help to see how the framework expects things to be set up. The <a href="http://flixel.org/flxteroids/">FlxTeroids</a> source code is instructive, as well as <a href="http://flixel.org/EZPlatformer/">EZPlatformer</a> (which has a <a href="http://flashgamedojo.com/wiki/index.php?title=EZPlatformer_%28Flixel%29">nice tutorial</a> with it).</p>
<p>Despite the disorganization, there is a lot of good information out there, including the very active <a href="http://flixel.org/forums/">forums</a> (which I&#8217;ve not yet explored).</p>
<h3>A question of units</h3>
<p>One bit of info I couldn&#8217;t find was what units the FlxObject class uses for velocity and acceleration. I did a quick experiment, and it turns out that velocity is in <em>pixels per second</em>, and acceleration is in <em>pixels per second per second</em> &#8212; all very sensible, but it wasn&#8217;t explicitly stated anywhere I could find. Similarly, the angle and angularVelocity members are in <em>degrees</em> (not radians) and <em>degrees per second</em>.</p>
<h3>What&#8217;s next?</h3>
<p>This has been a bit of a rambling blog post (I, too, am a bit scattered!). Next I decide on what kind of game to make (something very simple) and start making it! Along the way I will share what I&#8217;ve learned.</p>
<p>Stay tuned&#8230;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2011/03/07/exploring-flixel/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash and iPhone</title>
		<link>http://www.bunnyhero.org/2009/10/11/flash-and-iphone/</link>
		<comments>http://www.bunnyhero.org/2009/10/11/flash-and-iphone/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 19:47:18 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=249</guid>
		<description><![CDATA[It&#8217;s been a few days now since Adobe announced that Flash CS5 Professional will have a &#8220;publish for iPhone&#8221; feature for ActionScript 3 projects. Just wanted to jot down a few thoughts: As a Flash developer and geek, the technology seems pretty damn impressive to me. It actually includes the LLVM compiler? Wild. Still, there [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a few days now since Adobe announced that <a href="http://www.adobe.com/go/iphone">Flash CS5 Professional will have a &#8220;publish for iPhone&#8221;</a> feature for ActionScript 3 projects. Just wanted to jot down a few thoughts:</p>
<p>As a Flash developer and geek, the technology seems pretty damn impressive to me. It actually includes the LLVM compiler? Wild.</p>
<p>Still, there are <a href="http://devwhy.blogspot.com/2009/10/flash-on-iphone.html">technical concerns</a>, although to be fair, there are many months before CS5 ships. And for the moment, Flash-built apps won&#8217;t have access to things like the iPhone&#8217;s native UIKit controls, but they will have access to the accelerometer and multitouch (which at first I thought they did not).</p>
<p>Furthermore, as an iPhone developer, I have concerns, and in a way these concerns have less to do with Adobe&#8217;s actions than Apple&#8217;s: the single chokepoint that is the App Store and its review/approval system. It&#8217;s clear that Apple&#8217;s review system does not scale (longer and longer delays in approvals), and discoverability is bad enough as it is with the number of apps in the store now and the limited number of ways there are to browse and find things in the store.</p>
<p>If the iPhone app ecosystem was completely open, with many &#8220;stores&#8221; and multiple ways of finding and buying apps, I&#8217;d welcome Flash-built iPhone apps with open arms: the more the merrier. As it is, though, I worry a bit about the flood of muck as every Flash developer (over a million by Adobe&#8217;s count: <strong>A MILLION!</strong>) with a back catalogue of content tries to get their old code into the App Store.</p>
<p>Some obvious predictions:</p>
<ul>
<li>We&#8217;ll see more than a few Flash component libraries that emulate UIKit controls</li>
<li>Apple will unofficially delay or reject Flash-built apps for the first while until/unless Adobe and Apple come to some kind of understanding (<a href="http://www.readwriteweb.com/archives/why_is_apple_rejecting_phonegap-built_iphone_apps.php">see the issues that PhoneGap apps have had in the past</a>, and that uses all native SDKs!).</li>
<li>Flash developers will find it more difficult than they expect to get their old code working well on the iPhone</li>
<li>Many iPhone programming contracts will be lost as clients decide (correctly or incorrectly) that they can do their iPhone project in-house with Flash</li>
</ul>
<p>Still, I have to admit I personally can&#8217;t wait to get my hands on the public beta of Flash CS5. I enjoy working with Flash and ActionScript.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2009/10/11/flash-and-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rename an element across all frames of a timeline</title>
		<link>http://www.bunnyhero.org/2009/02/27/rename-an-element-across-all-frames-of-a-timeline/</link>
		<comments>http://www.bunnyhero.org/2009/02/27/rename-an-element-across-all-frames-of-a-timeline/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 22:30:45 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[JSFL]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=128</guid>
		<description><![CDATA[I use a combination of timeline animation and scripting-based movement. All too often, I will create a timeline animation and only later realize that I need to give a MovieClip (or MovieClips) a name so I can refer to it from a script. Of course, this only happens after I&#8217;ve already created a zillion keyframes, [...]]]></description>
			<content:encoded><![CDATA[<p>I use a combination of timeline animation and scripting-based movement. All too often, I will create a timeline animation and only later realize that I need to give a MovieClip (or MovieClip<em>s</em>) a name so I can refer to it from a script. Of course, this only happens after I&#8217;ve already created a zillion keyframes, and going through the entire animation to make sure that each MovieClip has its proper name in each keyframe is a real pain.</p>
<p>I finally got around to creating a simple JSFL script to automate this. It&#8217;s nothing special and it doesn&#8217;t do much error-checking or anything, but I thought I&#8217;d share it regardless in case it helps someone else :)</p>
<p>Copy and paste the following code into a file with the extension &#8220;.jsfl&#8221; (for example, &#8220;Multiframe renamer.jsfl&#8221;). Save the file in the appropriate folder, based on your platform:</p>
<ul>
<li><strong>Windows Vista™:</strong><br />
<em>boot drive</em>\Users\<em>username</em>\Local Settings\Application Data\Adobe\Flash CS3\language\Configuration\Commands\
</li>
<li><strong>Windows® XP:</strong><br />
<em>boot drive</em>\Documents and Settings\<em>username</em>\Local Settings\Application Data\Adobe\Flash CS3\language\Configuration\Commands\
 </li>
<li><strong>Mac OS® X:</strong><br />
Macintosh HD/Users/<em>username</em>/Library/Application Support/Adobe/Flash CS3/language/Configuration/Commands/
</li>
</ul>
<p>and restart Flash.</p>
<p>Then, in your document, select the element you want to be renamed across all frames. The go to the &#8220;Commands&#8221; menu and choose &#8220;Multiframe renamer&#8221;. You will be prompted to enter a name for the element (press &#8220;Cancel&#8221; to abort), and it will go and rename that element across all keyframes in that layer.</p>
<p>No warranty, use at your own risk, etc., but feel free to share and improve on it :)</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* multiframe renamer */</span>
&nbsp;
go<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> go<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span> fl.<span style="color: #006600;">getDocumentDOM</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">||</span> fl.<span style="color: #006600;">getDocumentDOM</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">selection</span>.<span style="color: #0066CC;">length</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        alert<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Please select an element&quot;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">var</span> element = fl.<span style="color: #006600;">getDocumentDOM</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #0066CC;">selection</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>;
    <span style="color: #808080; font-style: italic;">//  use the element's current name as the default</span>
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">name</span> = prompt<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;New name for elements on this layer?&quot;</span>, element.<span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span> == <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        alert<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Cancelled by user&quot;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> timeline = fl.<span style="color: #006600;">getDocumentDOM</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">getTimeline</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">//  find the layer from the selection</span>
    <span style="color: #000000; font-weight: bold;">var</span> layer = element.<span style="color: #006600;">layer</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">//  all frames in this layer... rename first element to the name</span>
    <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&lt;</span> layer.<span style="color: #006600;">frames</span>.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>layer.<span style="color: #006600;">frames</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">startFrame</span> == i<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>layer.<span style="color: #006600;">frames</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">elements</span> <span style="color: #66cc66;">&amp;&amp;</span> layer.<span style="color: #006600;">frames</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">elements</span>.<span style="color: #0066CC;">length</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
                layer.<span style="color: #006600;">frames</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">elements</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">name</span> = <span style="color: #0066CC;">name</span>;
            <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#125;</span>
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    alert<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Done!&quot;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2009/02/27/rename-an-element-across-all-frames-of-a-timeline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash CS3 top-left redux</title>
		<link>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/</link>
		<comments>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 01:27:31 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[JSFL]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=120</guid>
		<description><![CDATA[Last May, I complained about the change in the &#8220;Info&#8221; panel from Flash MX 2004 to Flash CS3. Since I needed the functionality, I whipped up a very simple (and crude) panel to let me see and edit the top-left of an element. Download the compiled panel and the source code. As you can see, [...]]]></description>
			<content:encoded><![CDATA[<p>Last May, I <a href="http://www.bunnyhero.org/2008/05/15/flash-cs3-and-the-case-of-the-missing-upper-left-coordinates/">complained about the change in the &#8220;Info&#8221; panel from Flash MX 2004 to Flash CS3</a>. Since I needed the functionality, I whipped up a very simple (and crude) panel to let me see and edit the top-left of an element.</p>
<p>Download the <a href="http://www.bunnyhero.org/static/topleft/topLeft.swf">compiled panel</a> and the <a href="http://www.bunnyhero.org/static/topleft/topLeft_panel.zip">source code</a>.</p>
<p><img class="alignnone size-full wp-image-123" title="topLeft" src="http://www.bunnyhero.org/wp-content/uploads/2009/02/2009-02-11_1856.png" alt="topLeft" width="443" height="216" /></p>
<p>As you can see, it&#8217;s very primitive. Select the element you want to operate on, and click &#8220;Get topLeft&#8221; to read the values of its top and left bounds. Click &#8220;Set topLeft&#8221; to move the selected element.</p>
<p>This comes in handy for changing a MovieClip&#8217;s registration point while leaving its visual position intact. Select a MovieClip instance, click &#8220;Get topLeft,&#8221; then edit the MovieClip and slide its contents around so that the registration point is where you want. Exit MovieClip editing, then click &#8220;Set topLeft&#8221; (without changing the values in the edit fields). The instance will go back to its original visual position.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash CS3 top-left redux</title>
		<link>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/</link>
		<comments>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 01:27:31 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[JSFL]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=120</guid>
		<description><![CDATA[Last May, I complained about the change in the &#8220;Info&#8221; panel from Flash MX 2004 to Flash CS3. Since I needed the functionality, I whipped up a very simple (and crude) panel to let me see and edit the top-left of an element. Download the compiled panel and the source code. As you can see, [...]]]></description>
			<content:encoded><![CDATA[<p>Last May, I <a href="http://www.bunnyhero.org/2008/05/15/flash-cs3-and-the-case-of-the-missing-upper-left-coordinates/">complained about the change in the &#8220;Info&#8221; panel from Flash MX 2004 to Flash CS3</a>. Since I needed the functionality, I whipped up a very simple (and crude) panel to let me see and edit the top-left of an element.</p>
<p>Download the <a href="http://www.bunnyhero.org/static/topleft/topLeft.swf">compiled panel</a> and the <a href="http://www.bunnyhero.org/static/topleft/topLeft_panel.zip">source code</a>.</p>
<p><img class="alignnone size-full wp-image-123" title="topLeft" src="http://www.bunnyhero.org/wp-content/uploads/2009/02/2009-02-11_1856.png" alt="topLeft" width="443" height="216" /></p>
<p>As you can see, it&#8217;s very primitive. Select the element you want to operate on, and click &#8220;Get topLeft&#8221; to read the values of its top and left bounds. Click &#8220;Set topLeft&#8221; to move the selected element.</p>
<p>This comes in handy for changing a MovieClip&#8217;s registration point while leaving its visual position intact. Select a MovieClip instance, click &#8220;Get topLeft,&#8221; then edit the MovieClip and slide its contents around so that the registration point is where you want. Exit MovieClip editing, then click &#8220;Set topLeft&#8221; (without changing the values in the edit fields). The instance will go back to its original visual position.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2009/02/11/flash-cs3-top-left-redux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash CS4: styling device fonts in the IDE?</title>
		<link>http://www.bunnyhero.org/2009/02/08/flash-cs4-styling-device-fonts-in-the-ide/</link>
		<comments>http://www.bunnyhero.org/2009/02/08/flash-cs4-styling-device-fonts-in-the-ide/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 04:24:31 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash CS4]]></category>
		<category><![CDATA[dearlazyweb]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[question]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=113</guid>
		<description><![CDATA[In Flash CS3, I could use the IDE to create a text field whose font was &#8220;bold _sans&#8221; (_sans, of course, being the &#8220;generic&#8221; sans-serif device font). However, in Flash CS4, it seems I cannot do this, as the style menu is empty and disabled when any of the generic fonts are selected (or if [...]]]></description>
			<content:encoded><![CDATA[<p>In Flash CS3, I could use the IDE to create a text field whose font was &#8220;bold _sans&#8221; (_sans, of course, being the &#8220;generic&#8221; sans-serif device font).</p>
<p>However, in Flash CS4, it seems I cannot do this, as the style menu is empty and disabled when any of the generic fonts are selected (or if &#8220;Use device fonts&#8221; is chosen). I can make a _sans text field, but not a bold or italic one.</p>
<p>It is still possible to apply the styling at runtime, but I shouldn&#8217;t have to do that.</p>
<p>Is there something I am missing?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2009/02/08/flash-cs4-styling-device-fonts-in-the-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSFL feature request</title>
		<link>http://www.bunnyhero.org/2008/07/17/jsfl-feature-request/</link>
		<comments>http://www.bunnyhero.org/2008/07/17/jsfl-feature-request/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 01:29:26 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[JSFL]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=80</guid>
		<description><![CDATA[Automating Flash with JSFL is very useful, but I sure wish there was a way to specify &#8220;save as Flash 8&#8243; in fl.documentSave(). I guess I could run the script in Flash 8 instead&#8230; kind of a hassle though.]]></description>
			<content:encoded><![CDATA[<p>Automating Flash with JSFL is very useful, but I sure wish there was a way to specify &#8220;save as Flash 8&#8243; in <code>fl.documentSave()</code>. I guess I could run the script in Flash 8 instead&#8230; kind of a hassle though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2008/07/17/jsfl-feature-request/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash CS3 and the case of the missing upper-left coordinates</title>
		<link>http://www.bunnyhero.org/2008/05/15/flash-cs3-and-the-case-of-the-missing-upper-left-coordinates/</link>
		<comments>http://www.bunnyhero.org/2008/05/15/flash-cs3-and-the-case-of-the-missing-upper-left-coordinates/#comments</comments>
		<pubDate>Thu, 15 May 2008 19:40:36 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=73</guid>
		<description><![CDATA[So I finally upgraded to Flash CS3, and I noticed something that has changed in the UI. You see that little button I circled? In Flash 8, that button would toggle the X, Y fields between displaying the coordinates of the selected object&#8217;s upper-left corner and its registration point. In Flash CS3, though, the button [...]]]></description>
			<content:encoded><![CDATA[<p>So I finally upgraded to Flash CS3, and I noticed something that has changed in the UI.</p>
<p><img src="http://www.bunnyhero.org/wp-content/uploads/2008/05/info-panel-cs3-b.png" alt="the info panel in flash cs3" title="info panel cs3" width="213" height="146" class="size-full wp-image-76" /><br />
You see that little button I circled?</p>
<p>In Flash 8, that button would toggle the X, Y fields between displaying the coordinates of the selected object&#8217;s <strong>upper-left corner</strong> and its <strong>registration point</strong>. In Flash CS3, though, the button toggles between showing the object&#8217;s <strong>transformation point</strong> vs its registration point.</p>
<p><em><strong>There seems to be no way to show the object&#8217;s upper-left corner coordinates any more!</strong></em></p>
<p>Unfortunately this was a feature I used a lot. I could write down an object&#8217;s upper-left coordinates so that I could later restore its <em>visual position</em> on the stage even if I changed the symbol&#8217;s registration or transformation points. Those numbers are critical if I want to edit a symbol&#8217;s registration point without disturbing its visual placement on the stage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2008/05/15/flash-cs3-and-the-case-of-the-missing-upper-left-coordinates/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Scaring people with fullScreen</title>
		<link>http://www.bunnyhero.org/2008/05/10/scaring-people-with-fullscreen/</link>
		<comments>http://www.bunnyhero.org/2008/05/10/scaring-people-with-fullscreen/#comments</comments>
		<pubDate>Sat, 10 May 2008 09:42:25 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=72</guid>
		<description><![CDATA[When Flash Player 9 goes into full screen mode, it pops up a little security message that tells the user how to exit full screen mode. It appears as white text on a semi-transparent black background so it is generally always visible (which is good). Still, I wondered if it could be obscured. The message [...]]]></description>
			<content:encoded><![CDATA[<p>When Flash Player 9 goes into full screen mode, it pops up a little security message that tells the user how to exit full screen mode. It appears as white text on a semi-transparent black background so it is generally always visible (which is good). Still, I wondered if it could be obscured.</p>
<p>The message is always on top, so it is impossible to draw over it. But what if we tried distracting the user from the actual security message?</p>
<p>Here&#8217;s a silly test:<br />

<object width="200" height="50">
<param name="movie" value="/static/faketest/fullscreen test 1.swf"></param>
<param name="quality" value="autohigh"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="true"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<param name="allowScriptAccess" value="always"></param>
<param name="allowFullScreen" value="true"></param>
<embed type="application/x-shockwave-flash" width="200" height="50" src="/static/faketest/fullscreen test 1.swf" quality="autohigh" bgcolor="#FFFFFF" wmode="window" menu="true" allowFullScreen="true" ></embed>
</object>
</p>
<p>Of course, you can press Esc (or alt+tab to another window) to escape.</p>
<p><strong>UPDATE:</strong> I have made the <a href="http://www.bunnyhero.org/static/faketest/fullscreen_test_0_1.zip">source code available</a>, warts and all, under a ZLib licence. Share and enjoy :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2008/05/10/scaring-people-with-fullscreen/feed/</wfw:commentRss>
		<slash:comments>143</slash:comments>
		</item>
		<item>
		<title>Weird query string variable behaviour (ActionScript 2)</title>
		<link>http://www.bunnyhero.org/2008/05/02/weird-query-string-variable-behaviour/</link>
		<comments>http://www.bunnyhero.org/2008/05/02/weird-query-string-variable-behaviour/#comments</comments>
		<pubDate>Fri, 02 May 2008 05:45:50 +0000</pubDate>
		<dc:creator>bunnyhero</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript 2]]></category>
		<category><![CDATA[Flash Player 8]]></category>
		<category><![CDATA[quirks]]></category>

		<guid isPermaLink="false">http://www.bunnyhero.org/?p=69</guid>
		<description><![CDATA[I just discovered some strange behaviour in the Flash player if you try to change variables passed in through the query string before the movie has finished loading. That is: If a movie is loaded with the URL: movie.swf?a=initialValue and the movie contains a script that does something like this: _level0.a = "some other value" [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered some strange behaviour in the Flash player if you try to change variables passed in through the query string before the movie has finished loading.</p>
<p>That is:<br />
If a movie is loaded with the URL:<br />
<code style="background: #ddf">movie.swf?a=initialValue</code></p>
<p>and the movie contains a script that does something like this:<br />
<code style="background: #ddf">_level0.a = "some other value"</code></p>
<p>the value of <code>a</code> will get <em><strong>reset to &#8220;<code>initialValue</code>&#8221; on every frame</strong></em>, until the movie finishes loading!</p>
<p>This is different than if you pass in the variable using <code>flashVars</code>. If you use <code>flashVars</code>, the variable stays set, as you would expect it to.</p>
<p>Here are some tests to demonstrate the behaviour. It&#8217;s best to clear your cache in between each test, or you will get varying results.</p>
<ul>
<li><a href="http://www.bunnyhero.org/static/querystringvars/testquerystring.html">Using query string variables</a>
</li>
<li><a href="http://www.bunnyhero.org/static/querystringvars/testflashvars.html">Using flashVars</a>
</li>
</ul>
<p>Here&#8217;s a screenshot from a test using query string variables:<br />
<img src="http://www.bunnyhero.org/wp-content/uploads/2008/05/2008-05-02_0106.jpg" alt="screenshot from test movie" title="query string screenshot" width="410" height="300" class="alignnone size-full wp-image-71" /><br />
The test movie is embedded with code that passes the variable &#8220;<code>a</code>&#8221; set to &#8220;<code>from html</code>&#8220;. The movie continually displays the value of the variable &#8220;<code>a</code>&#8221; in the scrolling text field. On the fourth frame, it changes the the value of <code>a</code> to &#8220;<code>set from script</code>.&#8221;</p>
<p>At any time, you can click on the &#8220;Set&#8221; button to set the variable to &#8220;set from script.&#8221; When the movie is finished loading (there&#8217;s a 700K JPEG file on the last frame to make the movie large and slow-loading), you can click the &#8220;Stop&#8221; button to stop the scrolling text field from updating.</p>
<p>Play with both tests, and compare the effects if you clear the cache between tests or not, and try clicking &#8220;Set&#8221; at different times.</p>
<p><strong>UPDATE: </strong>This only seems to occur in movies published for Flash Player 8! Here&#8217;s a test using a movie published for Player 7 and variables passed via the query string:</p>
<ul>
<li><a href="http://www.bunnyhero.org/static/querystringvars/testquerystring7.html">Using query string variables, Flash Player 7</a></li>
</ul>
<p>And, of course, I have no idea how ActionScript 3/Flash Player 9 behaves in a similar situation&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bunnyhero.org/2008/05/02/weird-query-string-variable-behaviour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

