<?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>ByteArray.org</title>
	<atom:link href="http://www.bytearray.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.bytearray.org</link>
	<description>Actionscript 3 Experiments and Flash Player love.</description>
	<lastBuildDate>Tue, 01 May 2012 22:28:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>AMD Interviews</title>
		<link>http://www.bytearray.org/?p=4252</link>
		<comments>http://www.bytearray.org/?p=4252#comments</comments>
		<pubDate>Sun, 29 Apr 2012 01:25:21 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Adobe Gaming]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Inside the Flash Player]]></category>
		<category><![CDATA[amd]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=4252</guid>
		<description><![CDATA[At GDC this year, I got interviewed by AMD about Flash and what we are working on. Given they are GPU guys, we had a lot to talk about. I will also be speaker in June at the AMD Fusion Developer Summit conference in Seattle to talk about our roadmap with a sneak peek of some [...]]]></description>
			<content:encoded><![CDATA[<p>At <a title="GDC 2012" href="http://www.gdconf.com/" target="_blank">GDC</a> this year, I got interviewed by AMD about Flash and what we are working on. Given they are GPU guys, we had a lot to talk about. I will also be speaker in June at the <a title="AMD Fusion Developer Summit" href="http://developer.amd.com/afds/pages/default.aspx" target="_blank">AMD Fusion Developer Summit</a> conference in Seattle to talk about our roadmap with a sneak peek of some brand new things (like Monocle) we have been cooking.</p>
<p>Thanks to YouTube for the amazing preview image they picked up for the second video <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><object style="height: 390px; width: 640px;" width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/f2pjisKryL4?version=3&amp;feature=player_detailpage" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed style="height: 390px; width: 640px;" width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/f2pjisKryL4?version=3&amp;feature=player_detailpage" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p><object style="height: 390px; width: 640px;" width="640" height="360" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/XzoUANuUKl4?version=3&amp;feature=player_detailpage" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed style="height: 390px; width: 640px;" width="640" height="360" type="application/x-shockwave-flash" src="http://www.youtube.com/v/XzoUANuUKl4?version=3&amp;feature=player_detailpage" allowFullScreen="true" allowScriptAccess="always" allowfullscreen="true" allowscriptaccess="always" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=4252</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Introducing Flash Player 11.3 &#8211; AIR 3.3 beta</title>
		<link>http://www.bytearray.org/?p=3705</link>
		<comments>http://www.bytearray.org/?p=3705#comments</comments>
		<pubDate>Thu, 05 Apr 2012 23:19:48 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Inside the Flash Player]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3705</guid>
		<description><![CDATA[I am excited to announce the public beta of Flash Player 11.3 and AIR 3.3. This release includes a lot of little improvements that we included to either improve your workflow today for mobile development or simply add the things you always wondered why it was not there. We also added key features like fullscreen [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft  wp-image-4137" title="Flash Player 11.3/AIR 3.3" src="http://www.bytearray.org/wp-content/uploads/2012/03/flash_512.png" alt="Flash Player 11.3/AIR 3.3" width="176" height="131" />I am excited to announce the public beta of <strong>Flash Player 11.3 and AIR 3.3</strong>.</p>
<p>This release includes a lot of little improvements that we included to either improve your workflow today for mobile development or simply add the things you always wondered why it was not there.</p>
<p>We also added key features like fullscreen text input to enable better gaming experiences for you developers leveraging fullscreen capabilities.</p>
<p>As we mentioned at Max last year, we have in the team an initiative called JDI (Just do it) where the goal is to add those little things which makes your life easier as a developer.</p>
<p>It is generally a very little feature, in the team, we like to say "Tiny APIs, big impact", cause it just makes things easier and better.</p>
<p>Here is below the list of improvements/features added to this release:</p>
<ul>
<li><strong>Frame-label events</strong></li>
</ul>
<div>To make things easier when working with timeline assets, you can now register a listener to a FrameLabel object.</div>
<div></div>
<div>Example:</div>
<div></div>
<div>
<pre class="brush: as3;">
var frame:FrameLabel = mc.currentLabels[0];

frame.addEventListener(Event.FRAME_LABEL, onFrame);
</pre>
</div>
<ul>
<li><strong>Silent auto update for Mac</strong></li>
</ul>
<div>We introduced this feature on Windows in Flash Player 11.2. Now, Flash Player 11.3 also gets silent auto update on MacOS. Faster penetration now on both platforms.</div>
<ul>
<li><strong>Audio latency improvements</strong></li>
</ul>
<div>
<p>This enhancement reduces the latency for Sound.play method and changes to volume and pan on SoundTransform.<br />
The latency of SampleDataEvent.SAMPLE_DATA event should also be reduced considerably. For an input sample size of 2048, the latency should be optimal.</p>
</div>
<ul>
<li><strong>Reduced latency for un-buffered audio playback</strong></li>
</ul>
<div>The goal of this feature is to reduce latency for live un-buffered audio playback for all supported codecs.</div>
<div>The feature must be explicitly enabled. Application must use un-buffered playback <tt>NetStream.bufferTime = 0</tt> and set <tt>NetStream.useJitterBuffer = true</tt> to enable the feature.</div>
<ul>
<li><strong>Fullscreen text input</strong></li>
</ul>
<div>Yes! You read it right. Enable full support for all keyboard keys available to an embedded SWF running in full screen mode.</div>
<div>To enable it, two things. First, enable it through the new HTML parameter:</div>
<div></div>
<div>
<pre class="brush: as3;">&lt;param name=”allowFullScreenInteractive” value=”true”/&gt;</pre>
<p>Which is then reflected through the new stage property:</p>
<pre class="brush: as3;">trace(stage.allowsFullScreenInteractive);</pre>
<p>To trigger it, just use the new StageDisplayState.FULL_SCREEN_INTERACTIVE constant:</p>
<pre class="brush: as3;">stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;</pre>
</div>
<ul>
<li><strong>Texture streaming for Stage3D</strong></li>
</ul>
<div>You can now upload the mip-levels in the order you want, from the lowest definition to the highest, you can then now enable progressive texture loading with Stage3D.</div>
<div></div>
<div>Example:</div>
<div></div>
<div>
<pre class="brush: as3;">
[Embed( source = &quot;MipLevel9.jpg&quot; )]
var MipLevel9:Class;
var context3D:Context3D;
var texture:Texture;

stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);

function createdHandler(e:Event)
{
    context3D = stage.stage3Ds[0].context3D;
    //set streaming levels to 9, a 1x1 mip level for a complete texture size of 512 (Mip level 0 =512, Mip level 9 = 1)
    texture = context3D.createTexture(512,512,Context3DTextureFormat.BGRA,false, 9);
    var mip9:Bitmap = new MipLevel9();
    texture.uploadFromBitmapData(mip9.bitmapData,9);
}
</pre>
</div>
<div>
<ul>
<li><strong>Drivers gating hardware acceleration relaxed to 2006 (was 2009 in 11, 2008 in 11.2)</strong></li>
</ul>
<div>In previous releases, we gated support to drivers older than January 1, 2008. In the future release, we will be changing the gating to apply to drivers older than January 1, 2006.</div>
<div>This Flash Player 11.3/AIR 3.3 beta integrates this change, the feature is enabled in the pre-released builds to gather early feedback.<br />
Please note that this feature will be removed before the final release and added to a next release.</div>
<ul>
<li><strong>New driverInfo details</strong></li>
</ul>
</div>
<div>We expose more details now through context3D.driverInfo to detect why Stage3D fallback to software.</div>
<div>HW acceleration checkbox disabled? Drivers too old? Blacklisted chipset? We tell you.</div>
<div>In Flash Player 11.3 and AIR 3.3, the driverInfo string can now return the following values depending on the scenario:</div>
<div>
<ul>
<li>"Software Hw_disabled=userDisabled"</li>
</ul>
<p>HW acceleration setting checkbox in Settings UI is not checked so HW acceleration fail and SW rendering is used for Stage3D.</p>
<ul>
<li>"Software Hw_disabled=oldDriver"</li>
</ul>
<p>HW graphics driver is blacklisted due to known issue so SW rendering is used for Stage3D. It will be fixed by updating driver.</p>
<ul>
<li>"Software Hw_disabled=unavailable"</li>
</ul>
<p>It fail to use HW due to driver's capability or blacklisted in general or any failure of HW graphics initialization so SW rendering is used for Stage3D</p>
<ul>
<li>"Software Hw_disabled=explicit"</li>
</ul>
<p>Content request a software rendering explicitly through requestContext3D so SW rendering is used for Stage3D.</p>
<p>In the next beta, those Strings will be available as constants of a new class, to simplify your detection logic.</p>
</div>
<ul>
<li><strong>MouseEvent.RELEASE_OUTSIDE</strong></li>
</ul>
<div>The famous event which got removed in AS3, is back, much simpler than all the AS3 workarounds to emulate it.</div>
<div></div>
<div>Example :</div>
<div>
<pre class="brush: as3;">
s.addEventListener(MouseEvent.RELEASE_OUTSIDE, onReleaseOutsideHandler);
</pre>
</div>
<ul>
<li><strong>ApplicationDomain.getQualifiedDefinitionNames()</strong></li>
</ul>
<div>You remember Application.getDefinition()? The limitation is that you had to know ahead of time the name of the class definition you wanted to extract.</div>
<div>Now applicationDomain.getQualifiedDefinitionNames() extracts all of the classes available in a SWF, perfect for SWF introspection and runtime loaded assets. <a title="SWFExplorer" href="http://www.bytearray.org/?p=175" target="_blank">SWFExplorer</a> non longer needed!</div>
<div></div>
<div>Example :</div>
<div>
<pre class="brush: as3;">
var definitions:Vector.&lt;String&gt; = this.loaderInfo.applicationDomain.getQualifiedDefinitionNames();
</pre>
</div>
<ul>
<li><strong>BitmapData.drawWithQuality</strong></li>
</ul>
<div>In the past, the BitmapData.draw() API did not accept a quality parameter, you had to change the stage quality to affect the rasterization, not anymore with BitmapData.drawWithQuality() which obviously takes a quality parameter.</div>
<div></div>
<div>Example :</div>
<div></div>
<div>
<pre class="brush: as3;">
bitmapData.drawWithQuality(sprite, sprite.transform.matrix, null, null, null, null, StageQuality.BEST);
</pre>
</div>
<ul>
<li><strong>Native Bitmap compression : BitmapData.encode()</strong></li>
</ul>
<div>Support for native JPEG/PNG/JPEG-XR compression.</div>
<div></div>
<div>Example :</div>
<div></div>
<div>
<pre class="brush: as3;">
var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00);

var byteArray:ByteArray = new ByteArray();

bitmapData.encode(bitmapData.rect, new JPEGEncoderOptions(), byteArray);
</pre>
</div>
<div>And some other nice improvements :</div>
<ul>
<li>Background behavior for AIR</li>
<li>Android 4.0 Stylus Support</li>
<li>USB Debugging</li>
<li>Landscape mobile</li>
<li>Simulator support for iOS</li>
</ul>
<p>As usual, download everything on Adobe Labs. Let us know if you get any bugs. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3705</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Bunnies on the GPU!</title>
		<link>http://www.bytearray.org/?p=4074</link>
		<comments>http://www.bytearray.org/?p=4074#comments</comments>
		<pubDate>Tue, 20 Mar 2012 06:35:55 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Molehill]]></category>
		<category><![CDATA[bunnymark]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[stage3d]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=4074</guid>
		<description><![CDATA[We recently announced AIR 3.2 with Stage3D support for mobile. Some of you have asked about learning more about GPU programming, best practices and also some of you had questions regarding the BunnyMark test we had in the AIR 3.2 video. The BunnyMark demo we showed, uses a tiny framework developed internally at Adobe (named [...]]]></description>
			<content:encoded><![CDATA[<p><img class="wp-image-4086 alignleft" title="Pirate!" src="http://www.bytearray.org/wp-content/uploads/2012/03/pirate.png" alt="Pirate!" width="85" height="148" />We recently announced <a title="AIR 3.2 SDK available on Adobe Labs" href="http://www.bytearray.org/?p=3970" target="_blank">AIR 3.2 with Stage3D support for mobile</a>. Some of you have asked about learning more about GPU programming, best practices and also some of you had questions regarding the BunnyMark test we had in the <a title="AIR 3.2 Announcement video" href="http://www.youtube.com/watch?feature=player_embedded&amp;v=ZPHATCbnHE0" target="_blank">AIR 3.2 video</a>.</p>
<p>The BunnyMark demo we showed, uses a tiny framework developed internally at Adobe (named GPUSprite). It makes use of support classes called GPUSprite/GPUSpriteLayer, which optimize rendering by allowing a large number of of sprites to be drawn in a single draw call (batching).</p>
<p>This means all those sprites must be able to sample their image from the same sprite sheet.  Performance is really nice.  You could extend it to multiple sprite sheets, but you will have to organize your content into layers with one layer per SpriteSheet.</p>
<p>All the objects on a higher layer will be rendered on top of objects on lower layers.  For a scrolling game with background, foreground, characters, effect layers and so on, it is a nice authoring solution. Of course this has way more restrictions than what <a title="Starling Framework (2D on GPU)" href="http://starling-framework.org" target="_blank">Starling</a> would allow, it actually has very limited features.</p>
<p>So do not consider this as a silver bullet, consider this as an example to learn how to program GPUs efficiently, or also tweak frameworks to achieve higher framerates.</p>
<p>You can download <a title="GPUSprite" href="https://github.com/graphicscore/graphicscorelib/tree/master/src/com/adobe/example/GPUSprite" target="_blank">GPUSprite</a> on the <a title="GraphicsCorelib" href="https://github.com/graphicscore/graphicscorelib" target="_blank">GraphicsCorelib github repo</a>.<br />
<a title="BunnyMark on Stage3D" href="http://www.bytearray.org/wp-content/projects/gpusprite/BunnyMark_MoleHill.zip">Download</a> the BunnyMark code (using GPUSprite).</p>
<p>Special thanks to <a title="Ian Lobb" href="http://blog.iainlobb.com/" target="_blank">Iain Lobb</a> for the <a title="Original BunnyMark" href="http://bit.ly/c8AZXC" target="_blank">original BunnyMark</a>.<br />
Special thanks to <a title="Philippe Elsass" href="philippe.elsass.me" target="_blank">Philippe Elsass</a> for the <a title="Modified BunnyMark" href="philippe.elsass.me/2011/11/nme-ready-for-the-show/" target="_blank">modified BunnyMark</a> test.</p>
<p>Live demo of GPUSprite below :</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm__BunnyMark_MoleHill_281992918"
			class="flashmovie"
			width="480"
			height="640">
	<param name="movie" value="http://bytearray.org/wp-content/projects/gpusprite/_BunnyMark_MoleHill.swf" />
	<param name="wmode" value="direct" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://bytearray.org/wp-content/projects/gpusprite/_BunnyMark_MoleHill.swf"
			name="fm__BunnyMark_MoleHill_281992918"
			width="480"
			height="640">
		<param name="wmode" value="direct" />
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=4074</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Flash is Unreal</title>
		<link>http://www.bytearray.org/?p=4049</link>
		<comments>http://www.bytearray.org/?p=4049#comments</comments>
		<pubDate>Thu, 08 Mar 2012 20:09:09 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Molehill]]></category>
		<category><![CDATA[console gaming]]></category>
		<category><![CDATA[epic]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[stage3d]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=4049</guid>
		<description><![CDATA[You guys may remember the announcement we made at Max last year where Epic announced they were able to target Flash Player now. You can now see this live by visiting the Unreal website. Make sure you have the RC version of Flash Player 11.2 installed. In case you are running Chrome, just type about:plugins (in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.unrealengine.com/flash/" target="_blank"><img class="aligncenter size-full wp-image-4060" title="Flash is Unreal" src="http://www.bytearray.org/wp-content/uploads/2012/03/flash-unreal1.png" alt="Flash is Unreal" width="800" height="490" /></a></p>
<p>You guys may remember the announcement we made at <a title="Max 2011 Keynote " href="http://www.bytearray.org/?p=3609" target="_blank">Max</a> last year where Epic announced they were able to target Flash Player now.</p>
<p>You can now see this live by visiting the <a title="Unreal Engine in Flash" href="http://www.unrealengine.com/flash/" target="_blank">Unreal website</a>. Make sure you have the <a title="Flash Player 11.2 RC" href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/" target="_blank">RC version of Flash Player 11.2</a> installed.</p>
<p>In case you are running Chrome, just type about:plugins (in the url) and select the Flash Player 11.2 you installed rather than the embedded one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=4049</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Introducing the new Adobe Gaming website</title>
		<link>http://www.bytearray.org/?p=4032</link>
		<comments>http://www.bytearray.org/?p=4032#comments</comments>
		<pubDate>Tue, 06 Mar 2012 19:52:55 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Adobe Gaming]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[gaming]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=4032</guid>
		<description><![CDATA[We are very excited to share with you a brand new website we have been working on : gaming.adobe.com We wanted to provide a place to discover what Flash enables for game development, showcase content but also a place to help developers get started with the technology. And finally, a place to show the world [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-4033 alignleft" title="Adobe Gaming" src="http://www.bytearray.org/wp-content/uploads/2012/03/adobe-gaming.png" alt="" width="410" height="93" />We are very excited to share with you a brand new website we have been working on : <strong><a title="Adobe &amp; Gaming" href="http://gaming.adobe.com" target="_blank">gaming.adobe.com</a></strong></p>
<p>We wanted to provide a place to discover what Flash enables for game development, showcase content but also a place to help developers get started with the technology.</p>
<p>And finally, a place to show the world what Flash can do. We hope you guys will like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=4032</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>AIR 3.2 RC SDK available on Adobe Labs!</title>
		<link>http://www.bytearray.org/?p=3970</link>
		<comments>http://www.bytearray.org/?p=3970#comments</comments>
		<pubDate>Mon, 27 Feb 2012 06:24:46 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash on mobile]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Molehill]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[air 3.2]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[stage3d]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3970</guid>
		<description><![CDATA[We are so excited to announce the availability of AIR 3.2 (Release Candidate) with Stage3D support for mobile. Download it now on Adobe Labs. You will be able to develop fully GPU accelerated mobile content with AIR 3.2 for iOS and Android using the same Stage3D APIs you are using today on the desktop. It allows you [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-3994" title="Adobe AIR 3.2 SDK" src="http://www.bytearray.org/wp-content/uploads/2012/02/logo-300x158.jpg" alt="Adobe AIR 3.2 SDK" width="300" height="158" />We are so excited to announce the availability of <strong>AIR 3.2 <strong>(Release Candidate) </strong>with Stage3D support for mobile</strong>.<br />
<a title="AIR 3.2 RC" href="http://labs.adobe.com/technologies/flashplatformruntimes/air3-2/" target="_blank"> Download it now</a> on Adobe Labs.</p>
<p><img class="alignright size-medium wp-image-4000" title="Flash Player and AIR" src="http://www.bytearray.org/wp-content/uploads/2012/02/fp-air-300x151.jpg" alt="Flash Player and AIR" width="300" height="151" />You will be able to develop fully GPU accelerated mobile content with AIR 3.2 for <strong>iOS</strong> and <strong>Android</strong> using the same Stage3D APIs you are using today on the desktop.</p>
<p>It allows you to distribute AIR captive runtime versions of apps, enabling you to publish apps immediately to marketplaces such as the <strong>iOS App Store</strong>, <strong>Android Market</strong>, and <strong>Amazon Appstore</strong>. We recommend that you update your applications with the GM build when it is available.</p>
<p>And this is just the beginning of the surprises we have for you, this is going to be an exciting year. The team cannot wait to see what you guys will create, what we have received already from developers on our prerelease looks stunning, as usual I am sure you guys will find very creative ways to use <strong>Stage3D</strong> for all types of content.</p>
<p>Let us know the content you create by posting a comment here or letting me know through <a title="Twitter" href="http://twitter.com/thibault_imbert" target="_blank">Twitter</a>.<br />
At the same time we are also making <a title="Flash Player 11.2 RC" href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/" target="_blank">available</a> the release candidate of <strong>Flash Player 11.2</strong>.</p>
<p>Below a video of <a title="Lee Brimelow" href="http://leebrimelow.com" target="_blank">Lee</a> and I to demonstrate what AIR 3.2 will enable, showcasing some content already produced by the community:</p>
<p><object width="678" height="381" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ZPHATCbnHE0?version=3&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="678" height="381" type="application/x-shockwave-flash" src="http://www.youtube.com/v/ZPHATCbnHE0?version=3&amp;hl=en_US&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3970</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Some Stage3D thoughts</title>
		<link>http://www.bytearray.org/?p=3787</link>
		<comments>http://www.bytearray.org/?p=3787#comments</comments>
		<pubDate>Fri, 20 Jan 2012 02:18:33 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Inside the Flash Player]]></category>
		<category><![CDATA[blacklisting]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[hardware acceleration]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[stage3d]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3787</guid>
		<description><![CDATA[A few months ago, we shipped Flash Player 11 and AIR 3 with Stage3D support, since we shipped we have seen great response from the developers and amazing content being developed. From Zombie Tycoon, the first Stage3D game available online, we have seen tanks and zombies destroying cities, cars doing rallys, Ben Franklin fighting the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-3793" title="Nissan Stage Juke" src="http://www.bytearray.org/wp-content/uploads/2011/12/screenshot-1-300x187.jpg" alt="Nissan Stage Juke" width="240" height="150" />A few months ago, we shipped Flash Player 11 and AIR 3 with Stage3D support, since we shipped we have seen great response from the developers and amazing content being developed. From <a title="Zombie Tycoon" href="http://molehill.zombietycoon.com" target="_blank">Zombie Tycoon</a>, the first Stage3D game available online, we have seen <a title="Alternativa Crash Demo" href="http://alternativaplatform.com/en/demos/crash/" target="_blank">tanks</a> and <a title="Zombie Tycoon" href="http://molehill.zombietycoon.com/" target="_blank">zombies</a> destroying cities, <a title="Rally Point 2" href="http://www.agame.com/game/rally-point-2.html" target="_blank">cars doing rallys</a>, <a title="Ben Franklin VS the Dead Coats" href="http://www.deadcoats.com/" target="_blank">Ben Franklin fighting the Dead Coats</a>. Beyond games, we've also seen an <a title="Nissan StageJuk3D" href="http://nissan-stagejuk3d.com" target="_blank">amazing car configurator for Nissan</a>, and tons of creative experimentations like the <a title="Evo Particles Engine" href="http://www.simppa.fi/blog/introducing-open-source-evospicyparticleengine/" target="_blank">Evo Particles Engine</a>. More recently, the <a title="Angry Birds goes Flash Player 11" href="https://apps.facebook.com/angrybirds" target="_blank">famous birds</a> have also been migrated to Stage3D. So far, we have been talking with a lot of companies actually developing Stage3D content, leveraging Flash Player's penetration, and by the end of 2011, we anticipated that over 80% had Flash Player 11 installed.</p>
<p><img class="alignright size-medium wp-image-3797" style="border-style: initial; border-color: initial;" title="Waste Invaders" src="http://www.bytearray.org/wp-content/uploads/2011/12/waste-invaders-224x300.png" alt="Waste Invaders" width="224" height="300" /></p>
<div>How they’re doing it is they’re developing their games for Stage3D software fallback. And then they’re using progressive enhancement to add more complex models, textures, particle effects, etc. when they detect HW-accelerated Stage3D is available. With this kind of progressive experience, you can use Stage3D to deliver the best experience to the most users (even with only software fallback) and provide the best experience for users with hardware acceleration. In addition, we’re working with framework vendors to improve performance of frameworks built on Stage3D, which benefits all Stage3D users. There are a lot of optimizations that can be done on these layers above Stage3D. For example, the latest build of the open source <a title="Starling Framework" href="http://starling-framework.org" target="_blank">Starling</a> 2D GPU framework is 400% faster than it was just a few weeks ago. You guys can take advantage of these performance enhancements immediately, without waiting for a new release of Flash Player and AIR. Recently, Ville Koskela from Rovio, <a title="Ville Koskela on Starling" href="http://villekoskela.org/2011/12/12/starling-gets-wings/" target="_blank">shared</a> his excitement regarding Starling and its performance boost.</div>
<div>Today, over 50% of users with Flash Player 11 will enjoy full hardware acceleration for Stage3D content. This is based on actual site visit data and data we have collected from partners which also corroborates our penetration models based on data we have directly from OS vendors.</div>
<div>
<p><img class="alignleft size-medium wp-image-3856" title="Angry Birds goes Flash Player 11" src="http://www.bytearray.org/wp-content/uploads/2011/12/angry-fp11-300x225.png" alt="Angry Birds goes Flash Player 11" width="300" height="225" />But there has been a lot of discussions regarding Stage3D hardware support and the reach that Stage3D gives you today when it comes to hardware acceleration. The current Flash Player available today (11.1 - shipped in November 2011) still uses a conservative gating model to ensure best stability. We took that decision when we saw how bad some drivers could be, with some horrible inconsistencies, some could basically reboot your computer when browsing a website. We just cannot allow that. If you want more details about the drivers and chipsets we do not support, you can check this <a href=" http://kb2.adobe.com/cps/921/cpsid_92103.html  ">technote</a>.</p>
<p>I want you guys to know that we are actively making changes to Flash Player and AIR to enable HW-acceleration for always more people. Specifically, with each release we are working with graphics card partners to test and identify compatible older drivers that are currently blacklisted. Upcoming quarterly releases of Flash Player will relax the blacklisting, we are lowering the restriction from drivers older than 1/1/2009 to 1/1/2008 with Flash Player 11.2 that we are about to release in the next months. We also want to be more aggressive and lower this even more with the next release depending on the feedback you guys will provide during the public beta.</p>
<p>The Flash Player 11.2/AIR 3.2 beta4 we are making available <a title="Flash Player 11.2 - AIR 3.2 beta4" href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/" target="_blank">today</a> introduces this change, you should check it out.</p>
<p>This release does not have any changes from the previous betas related to Alchemy. However, as we’ve mentioned, we are working on a solution to address some of the concerns from the Flash community and will have more to share soon.</p>
<p>Note that Flash Player 11.2 ships with silent auto update on Windows, meaning that future versions adoption will happen even faster. Mac support for silent auto-update will be introduced in the next release. On a side note, we are already seeing games running at 60fps on the upcoming version of AIR for mobile with Stage3D support, we are excited to share more about this very soon! <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3787</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Introducing the &#8220;Starling&#8221; book from O&#8217;Reilly</title>
		<link>http://www.bytearray.org/?p=3860</link>
		<comments>http://www.bytearray.org/?p=3860#comments</comments>
		<pubDate>Fri, 13 Jan 2012 20:27:17 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Molehill]]></category>
		<category><![CDATA[Starling]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[gpu]]></category>
		<category><![CDATA[starling]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3860</guid>
		<description><![CDATA[A few months ago, I was excited to share with you the birth of Starling, the new 2D GPU framework for Flash. I am happy to announce that the tutorial book I wrote is now published by O'Reilly and available for free as a PDF on O'Reilly website. This should be a good guide if [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-3895" title="Introducing Starling" src="http://www.bytearray.org/wp-content/uploads/2012/01/lrg-1-228x300.jpg" alt="Introducing Starling" width="228" height="300" />A few months ago, I was excited to share with you <a title="Introducing Starling" href="http://www.bytearray.org/?p=3371" target="_blank">the birth of Starling</a>, the new 2D GPU framework for Flash. I am happy to announce that the tutorial book I wrote is now published by O'Reilly and available for free as a PDF on <a title="Introducing Starling on O'Reilly.com" href="http://shop.oreilly.com/product/0636920024217.do" target="_blank">O'Reilly website</a>. This should be a good guide if you want to get started with Starling or if some developers you know would like to have a deeper look at it.</p>
<p>Description of the book from O'Reilly:</p>
<p><em>Starling is an ActionScript 3 2D framework developed on top of the Stage3D APIs (available on desktop in Flash Player 11 and Adobe AIR 3). Starling is mainly designed for game development, but could be used for many other use cases. Starling makes it possible to write fast GPU accelerated applications without having to touch the low-level Stage3D APIs.</em></p>
<p><em>Most Flash developers want to be able to leverage GPU acceleration (through Stage3D) without the need to write such higher-level frameworks and dig into the low-level Stage3D APIs. Starling is completely designed after the Flash Player APIs and abstracts the complexity of Stage3D (Molehill) and allows easy and intuitive programming for everyone.</em></p>
<p><em>Obviously Starling is for ActionScript 3 developers, especially those involved in 2D game development; of course you will need to have a basic understanding of ActionScript 3. By its design (lightweight, flexible and simple), Starling can be used also be used for other use cases like UI programming. That said, everything is designed to be as intuitive as possible, so any Java™ or .Net™ developer will get the hang of it quickly as well.</em></p>
<p>Here is the table of content of the book:</p>
<ul>
<li><strong>What Is Starling?</strong> 1</li>
<li><strong>Why Starling?</strong> 1</li>
<li><strong>Philosophy</strong> 1
<ul>
<li>Intuitive 1</li>
<li>Lightweight 2</li>
<li>Free 2</li>
</ul>
</li>
<li><strong>How</strong></li>
<li><strong>Layering Restrictions </strong>7</li>
<li><strong>Getting Started</strong> 8</li>
<li><strong>Setting Up Your Scene</strong> 9</li>
<li><strong>Wmode Requirements</strong> 13</li>
<li><strong>Stage Quality</strong> 14</li>
<li><strong>Progressive Enhancements</strong> 14</li>
<li><strong>The Display List</strong> 15</li>
<li><strong>Event Model</strong> 29
<ul>
<li>Event Propagation 29</li>
</ul>
</li>
<li><strong>Touch Events</strong> 30
<ul>
<li>Simulating Multi-touch 32</li>
</ul>
</li>
<li><strong>Texture</strong> 35
<ul>
<li>Image 37</li>
<li>Collision Detection 44</li>
<li>Drawing API 46</li>
</ul>
</li>
<li><strong>Flat Sprites</strong> 47</li>
<li><strong>MovieClip</strong> 51
<ul>
<li>Texture Atlas 56</li>
</ul>
</li>
<li><strong>Juggler</strong> 62</li>
<li><strong>Button</strong> 65</li>
<li><strong>TextField</strong> 73
<ul>
<li>Embedded Fonts 76</li>
<li>Bitmap Fonts 79</li>
</ul>
</li>
<li><strong>RenderTexture</strong> 88</li>
<li><strong>Tweens</strong> 90</li>
<li><strong>Asset Management</strong> 94</li>
<li><strong>Handling Screen Resizes</strong> 95</li>
<li><strong>Plugging Starling with Robotlegs</strong> 96</li>
<li><strong>Plugging Starling with Box2D</strong> 97</li>
<li><strong>Profiling Starling</strong> 101</li>
<li><strong>Particles</strong> 104</li>
</ul>
<p>The book is now referenced on the <a title="Starling-framework.org" href="http://starling-framework.org" target="_blank">Starling website</a>. Many thanks to <a title="Rich Tretola" href="http://blog.everythingflex.com/" target="_blank">Rich Tretola</a> for making this happen with O'Reilly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3860</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Async workflows in F#</title>
		<link>http://www.bytearray.org/?p=3778</link>
		<comments>http://www.bytearray.org/?p=3778#comments</comments>
		<pubDate>Fri, 16 Dec 2011 11:38:56 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[F#]]></category>
		<category><![CDATA[async workflows]]></category>
		<category><![CDATA[f#]]></category>
		<category><![CDATA[parallel]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3778</guid>
		<description><![CDATA[I thought I would share some more cool stuff regarding F#. I posted a little while ago a little preview of what is F# and how it works. I would like to go deeper here and cover a beautiful concept called asynchronous workflow. To make it short, async workflows allows you to write asynchronous code, [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I would share some more cool stuff regarding F#. I posted a little while ago a <a title="Taste of F#" href="http://www.bytearray.org/?p=3042" target="_blank">little preview of what is F#</a> and how it works. I would like to go deeper here and cover a beautiful concept called asynchronous workflow.</p>
<p>To make it short, async workflows allows you to write asynchronous code, as if you would be writing synchronous code, but of course without blocking the UI thread.<br />
Yeah, pretty cool <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So generally, when it comes to asynchronous code, you immediately think about event handlers or callbacks. At least for most web developers. It is actually not really a problem today with most web programming languages like JS or AS3, cause there is no real support for concurrency/parallelism (for now). But imagine, if you had to use asynchronous calls in the context of multithreaded code in Java or C#. You could end up with a lot of handlers making your code hard to follow, complex to debug. Also, you will be very likely to share states introduce possible racing across threads. Finally, if you had to handle exceptions on top of all this, you would need to place exception handling almost everywhere.</p>
<p>So, this is why async workflows come to the rescue! <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, let's take a classic example. We have a list and we want to iterate over that list to grab the content of the URL, basically like URLStream would do in AS3:</p>
<pre class="brush: as3;">
let urlList = [ &quot;Microsoft.com&quot;, &quot;http://www.microsoft.com/&quot;
                &quot;MSDN&quot;, &quot;http://msdn.microsoft.com/&quot;
                &quot;Bing&quot;, &quot;http://www.bing.com&quot;
              ]
</pre>
<p>Now let's define our fetch function which will do the job:</p>
<pre class="brush: as3;">
let fetch (name, url:string) =
    try
        printfn &quot;Grabbing&quot;
        let uri = new System.Uri(url)
        let webClient = new WebClient()
        let html = webClient.DownloadString(uri)
        printfn &quot;Read %d characters for %s&quot; html.Length name
    with
        | ex -&gt; printfn &quot;%s&quot; (ex.Message)
</pre>
<p>We are basically grabbing the string from the URL, note that we are using here the synchronous API DownloadString.</p>
<p>Now, lets, iterate over our list and call the fetch function:</p>
<pre class="brush: as3;">
let runAll() =
    urlList
    |&gt; List.map fetch
    |&gt; ignore
</pre>
<p>If you remember the last post about F#, we use here the forward pipe operator that allows us to pass the result of a function to another in a very natural way. We simply map the fetch function on each element of our list</p>
<p>Ok, now, let's execute everything :</p>
<pre class="brush: as3;">
open System.Net
open Microsoft.FSharp.Control.WebExtensions

let urlList = [ &quot;Microsoft.com&quot;, &quot;http://www.microsoft.com/&quot;
                &quot;MSDN&quot;, &quot;http://msdn.microsoft.com/&quot;
                &quot;Bing&quot;, &quot;http://www.bing.com&quot;
              ]

let fetch (name, url:string) =
    try
        printfn &quot;Grabbing&quot;
        let uri = new System.Uri(url)
        let webClient = new WebClient()
        let html = webClient.DownloadString(uri)
        printfn &quot;Read %d characters for %s&quot; html.Length name
    with
        | ex -&gt; printfn &quot;%s&quot; (ex.Message)

let runAll() =
    urlList
    |&gt; List.map fetch
    |&gt; ignore

printfn &quot;Starting&quot;
runAll()
printfn &quot;Done&quot;
</pre>
<p>And here is the result :</p>
<pre class="brush: as3;">
Starting
Grabbing
Read 1020 characters for Microsoft.com
Grabbing
Read 35705 characters for MSDN
Grabbing
Read 30677 characters for Bing
Done
</pre>
<p>Ok, synchronous behavior, pretty simple, but actually pretty cool. Would be useful to have more synchronous APIs in Flash <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now, let's imagine we would like to make this asynchronous so that it does not block my UI, we would generally need to use an async API which would require the use of an event handler/callback. I actually don't want to do that, cause it would force me to change the structure of my code inside my fetch function, I want my syntax to remain linear and not have to jump somewhere else.</p>
<p>Good news, async workflows solve that:</p>
<pre class="brush: as3;">
let fetchAsync (name, url:string) =
    async {
        try
            printfn &quot;Grabbing&quot;
            let uri = new System.Uri(url)
            let webClient = new WebClient()
            let! html = webClient.AsyncDownloadString(uri)
            printfn &quot;Read %d characters for %s&quot; html.Length name
        with
            | ex -&gt; printfn &quot;%s&quot; (ex.Message)
    }
</pre>
<p>Did you see the bang (!) character we used after the let for the html content? We call this the "bang" operator.</p>
<p>The effect of let! is to enable execution to continue on other computations or threads as the async operation is being performed. After the asynchronous call terminates, the rest of the asynchronous block code (asynchronous workflow) resumes its execution. Behind the scenes, when executed, the async block will create a new thread from the pool, execute the asynchronous operation and then the thread is released.</p>
<p>OK, so now let's apply this!</p>
<pre class="brush: as3;">
open System.Net
open Microsoft.FSharp.Control.WebExtensions

let urlList = [ &quot;Microsoft.com&quot;, &quot;http://www.microsoft.com/&quot;
                &quot;MSDN&quot;, &quot;http://msdn.microsoft.com/&quot;
                &quot;Bing&quot;, &quot;http://www.bing.com&quot;
              ]

let fetchAsync (name, url:string) =
    async {
        try
            printfn &quot;Grabbing&quot;
            let uri = new System.Uri(url)
            let webClient = new WebClient()
            let! html = webClient.AsyncDownloadString(uri)
            printfn &quot;Read %d characters for %s&quot; html.Length name
        with
            | ex -&gt; printfn &quot;%s&quot; (ex.Message)
    } |&gt; Async.Start

let runAll() =
    urlList
    |&gt; List.map fetchAsync
    |&gt; ignore

printfn &quot;Starting&quot;
runAll()
printfn &quot;Done&quot;
</pre>
<p>Notice that we execute the async computation with the Async.Start call inside the fetchAsync function.</p>
<p>And here is the result:</p>
<pre class="brush: as3;">
Starting
Done
Grabbing
Grabbing
Grabbing
Read 1020 characters for Microsoft.com
Read 30677 characters for Bing
Read 35705 characters for MSDN
</pre>
<p>Sweet! Our code is now asynchronous, parallelized, and we retrieved the result of the asynchronous call in a synchronous fashion!</p>
<p>Simple, clean, efficient and safe <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I hope you liked this intro to async workflows. Learn more about it <a title="Async Workflows" href="http://msdn.microsoft.com/en-us/library/dd233250.aspx" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3778</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Introducing Mouse lock, right and middle click events</title>
		<link>http://www.bytearray.org/?p=3755</link>
		<comments>http://www.bytearray.org/?p=3755#comments</comments>
		<pubDate>Tue, 22 Nov 2011 19:54:51 +0000</pubDate>
		<dc:creator>Thibault Imbert</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[mouse lock]]></category>

		<guid isPermaLink="false">http://www.bytearray.org/?p=3755</guid>
		<description><![CDATA[We just released on Adobe Labs, Flash Player 11.2 and AIR 3.2 (beta 2) builds. Note that you guys now have access to standalone debugger builds. Yeah, I know. After 4 years, it was about time! The cool news is that those builds introduce a few cool new features, like mouse lock, right and middle click [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-3767" title="Free your mouse!" src="http://www.bytearray.org/wp-content/uploads/2011/11/free-your-mouse.png" alt="Free your mouse!" width="259" height="50" />We just released on Adobe Labs, <a title="Flash Player 11.2 and Adobe AIR 3.2 (beta 2)" href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11-2/" target="_blank">Flash Player 11.2 and AIR 3.2 (beta 2) builds</a>.</p>
<p>Note that you guys now have access to standalone debugger builds. Yeah, I know. After 4 years, it was about time! The cool news is that those builds introduce a few cool new features, like <strong>mouse lock</strong>, <strong>right and middle click events</strong> and the ability to <strong>disable the context menu entirely</strong>.</p>
<p><strong>Mouse lock:</strong></p>
<p>A new mouseLock property has been added to Stage. To enable mouse locking set <strong>Stage.mouseLock</strong> to true. There are several rules which are applied here:</p>
<ul>
<li>This property can only be set in full screen mode.</li>
<li>It dispatches a runtime exception if it is called in non-full screen mode.</li>
<li>On mobile settings this property always throws an exception. The reason is simple: This feature can only work with a mouse typeof devices and mobile devices do not have such a thing.</li>
<li>The property can be read in non-full screen mode. This allows developers to easily dispatch to alternative input methods if mouse locking is disabled externally for some reason.</li>
<li>When exiting full screen mode Stage.mouseLock is automatically set to false. Note that while in full screen mode mouse event listeners attached to other display objects but the stage will not be dispatched.</li>
<li>In other words to receive mouse deltas and any other mouse event while mouseLock is active you need to attach your mouse event listeners to the stage.</li>
</ul>
<p><strong>Relative mouse coordinates - N</strong><strong>ew properties (movementX and movementY) on MouseEvent:</strong></p>
<p>When Stage.mouseLock == true:</p>
<ul>
<li>MouseEvent.localX and MouseEvent.localY will contain 0.MouseEvent.movementX and MouseEvent.movementY will contain delta values.</li>
<li>MouseEvent.movementX and MouseEvent.movementY are never transformed based on stage transformation, i.e. they always remain in screen space.</li>
<li>MouseEvent.movementX and MouseEvent.movementY will be 0 when Stage.mouseLock == false.</li>
</ul>
<p>Situations where mouse locking is disabled automatically and the mouse cursor is made visible again:</p>
<ul>
<li>When the user hits ESC.</li>
<li>When the window loses focus, for instance when the user hit CTRL-TAB.</li>
<li>When any settings UI is visible (that includes all privacy dialogs). When a native dialog is shown, for instance a file upload dialog.</li>
</ul>
<p><strong>Right and middle click events:</strong></p>
<p>Just like with Adobe AIR, right and middle click events can now be used to inside Flash Player. When a listener is registered to the MouseEvent.RIGHT_CLICK event, the native context menu will not show up, allowing you tocreate your own context menu.</p>
<p>I am sure you guys will make good use of that! <img src='http://www.bytearray.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bytearray.org/?feed=rss2&#038;p=3755</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
	</channel>
</rss>

