<?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>Blog.BitTube.com &#187; Flash</title>
	<atom:link href="http://blog.bittube.com/category/development/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bittube.com</link>
	<description>flash examples and development for the web, PSP Flash Player, Mobile flash lite player. All mixed up with some random thoughts, photos, images and poetic words</description>
	<lastBuildDate>Mon, 01 Feb 2010 13:58:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Welcome to the AppleNet</title>
		<link>http://blog.bittube.com/2010/01/29/welcome-to-the-applenet/</link>
		<comments>http://blog.bittube.com/2010/01/29/welcome-to-the-applenet/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:10:33 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[BitTube Thoughts]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mobile Devices]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=507</guid>
		<description><![CDATA[Your addiction to shiny new consumer electronics will fund Apple in it's mission to erode your freedom to consume the content you want through the channel you want at the price you want. 
You will not be allowed to access some content on Apple devices regardless of its merit. Apple will apply this content censorship [...]]]></description>
			<content:encoded><![CDATA[<p>Your addiction to shiny new consumer electronics will fund Apple in it's mission to erode your freedom to consume the content you want through the channel you want at the price you want. </p>
<p>You will not be allowed to access some content on Apple devices regardless of its merit. Apple will apply this content censorship at a hardware level based on nothing more than the format content is published in. This censorship will include the music, videos, games, books and applications that you consume, use and own now and those you may want to access in the future.</p>
<p>You will pay whatever Apple tells you to pay for Apple sanctioned content, but will only be able to purchase it through an Apple sanctioned mechanism. You will put up with this because Apple says it's going to be better that way, easier, it will just work. </p>
<p>This will all be fine, because the content that is deemed worthy will all be based on 'open' standards and technology.</p>
<p>Welcome to the AppleNet.</p>
<p>Steve.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2010/01/29/welcome-to-the-applenet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Management in Flash Lite and ActionScript 2 using ASUnit</title>
		<link>http://blog.bittube.com/2008/12/22/memory-management-in-flash-lite-using-asunit/</link>
		<comments>http://blog.bittube.com/2008/12/22/memory-management-in-flash-lite-using-asunit/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 13:21:06 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 2]]></category>
		<category><![CDATA[BitTube Work]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[FlashLite 3]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=450</guid>
		<description><![CDATA[In my new position the team I have joined and me are carying out some in depth testing of an Action Script 2 code base for Flash Lite 3 using, among other things, ASUnit based unit and acceptance tests. The early stage of development means it is too soon to leverage the new automated testing [...]]]></description>
			<content:encoded><![CDATA[<p>In my new position the team I have joined and me are carying out some in depth testing of an Action Script 2 code base for Flash Lite 3 using, among other things, <a href="http://www.asunit.com/">ASUnit</a> based unit and acceptance tests. The early stage of development means it is too soon to leverage the new <a href="http://is.gd/d6ex">automated testing features of Adobe Device Central CS4</a>. One of the most important aspects of our testing has been to check memory use over the lifetime of the applications we are developing. We are interested in tracking any memory leaks in our code and also any memory space fragmentation as the Flash Lite player creates or destroys objects and classes.</p>
<p>This memory information is viewable from Adobe Device Central in the Memory Panel, where device central provides a graph showing memory usage over time, separating <a href="http://is.gd/d6ff">Static Heap and Dynamic Heap</a> consumption of the player as your Flash Lite application runs. </p>
<p><img src="http://blog.bittube.com/wp-content/uploads/2008/12/memorypanel.png" alt="MemoryPanel.png" border="0" width="270" height="168" /></p>
<p>Testing for memory use, loss and leaks is currently not present as standard in ASUnit for ActionScript 2. In order to include this form of testing at a basic level we have employed a trick I picked up at Max San Francisco this year (If you are the person that explained the trick, please leave a comment so I can credit you). The technique makes use of the FlashLite SharedObject as a way of measuring the file size of objects and classes before and after you think you have destroyed them in your code.</p>
<p>The premiss is a simple one. In your test as part of the test setup create a local SharedObject create an empty data property and save the SharedObject to disk, then call the SharedObject.getSize() method and store the size of your empty SharedObject. The code should look something like this.</p>
<p><code>// size variation threshold for the SharedObject<br />private static var SIZEVARIANCE:Number = 5;<br />private var iS:SharedObject;<br />private var iSSize:Number;<br />// standard ASUnit test setup<br />private function setUp():Void<br />{<br />instance = new TestableClassObject();<br />iS = SharedObject.getLocal("iS");<br />iS.clear();<br />iS.data.iS = undefined;<br />iS.flush();<br />iSSize = iS.getSize();<br />}</code></p>
<p>Some things to keep in mind are the following. The length of the SharedObject name and the length of the data property name will have an impact on the result of SharedObject.getSize(). In the above example I have limited both these values to 2 characters ('iS'). All that remains is to link the value obtained from this setup function into a standard ASUnit test which looks something like this:</p>
<p><code>public function testDestroy():Void<br />{<br />instance.destroy();<br />iS.data.iS = instance;<br />assertTrue("testDestroy : test that the TestableClassObject 'instance' is destroyed successfully by checking size variation (" + SIZEVARIANCE + ") in SharedObject", ((iS.getSize() - iSSize) < SIZEVARIANCE));<br/>}</code></p>
<p>In this test I am simply calling the target class instance's destroy method, which should manage the removal of any stored references, arrays and object present in the class. I then save the locally stored instance back to the existing shared object, re-call SharedObject.getSize() and compare the size difference to the value of our initial empty SharedObject (iSSize) from the test setup method.</p>
<p>If the file size of the SharedObject is greater than the SIZEVARIANCE threshold then the test will fail. If that is the case then you have the ability to inspect the shared object using a SharedObject viewer (I use the free <a href="http://solve.sourceforge.net/">Solve</a> by <a href="http://www.darronschall.com/">Darron Schall</a>). In the viewer you will be able to see what items are not being properly removed from your class instance oronject. A common issue I have seen is the failure to destroy arrays that are prpperties of my classes for example. Some time over the holiday break I will put together a full example for download.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/12/22/memory-management-in-flash-lite-using-asunit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Free Flash Lite Components Bonanza!</title>
		<link>http://blog.bittube.com/2008/07/21/free-flash-lite-components-bonanza/</link>
		<comments>http://blog.bittube.com/2008/07/21/free-flash-lite-components-bonanza/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 10:03:15 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 1]]></category>
		<category><![CDATA[ActionScript 2]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[FlashLite 1]]></category>
		<category><![CDATA[FlashLite 2]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=283</guid>
		<description><![CDATA[I you are a Flash developer producing mobile content for Flash Lite then this week end you really hit pay dirt. First Nokia announced a set of Components for Flash Lite 2. Next Adobe also release a set of Components, for use with Flash Lite 1 and also Flash Lite 2, courtesy of Mark Doherty. [...]]]></description>
			<content:encoded><![CDATA[<p>I you are a Flash developer producing mobile content for Flash Lite then this week end you really hit pay dirt. First <a href="(http://www.forum.nokia.com/info/sw.nokia.com/id/d2336af2-0953-40a6-8dae-b80d368dead1/Adobe_Flash_Lite_2_x_Components_for_Mobile_Development.html)">Nokia announced a set of Components for Flash Lite 2</a>. Next <a href="http://flashmobileblog.com/?p=112">Adobe also release a set of Components</a>, for use with Flash Lite 1 and also Flash Lite 2, courtesy of <a href="http://flashmobileblog.com">Mark Doherty</a>. Finally <a href="http://www.scottjanousek.com/blog/2008/07/19/flash-lite-11-and-20-components/">Scott Janousek</a> resurrected the google code links for <a href="http://code.google.com/p/shurikencomponents/">Shuriken, a set of open source Flash Lite2 components</a> from last year.</p>
<p>So with all these 'new' flash lite components available what can you expect from each component set?</p>
<p><strong>Nokia Flash Lite 2 Components</strong><br />
Nokia have provided their Flash Lite 2 Component set as an MXP file for simple installation into Flash CS3, the components are easily accessible from the components panel once the MXP has been installed. Included in the zip file you download is a full readme.txt explaining how to install the MXP file through Adobe Extension Manager. The components also include full usage instructions in the form of flash help files and usage examples. Flash Lite Components that are included in the distribution are:</p>
<ul>
<li>Signal Level display, including network generation.</li>
<li>Battery level display.</li>
<li>Dynamic List Component.</li>
</ul>
<p>The Signal and Battery indicator components react to softkey placement/screen orientation. All three of the components have easily accessible skin components in the library, and also allow limited visual control from the properties panel. Mark Doherty noted that the components appear to be quite memory hungry. The Signal and Battery Indicators seem to use in the region of 600k according to Adobe Device Central, the Dynamic List Example reports around 800k although the actual memory usage of the list without a demo data set is closer to 700k.</p>
<p><a href="(http://www.forum.nokia.com/info/sw.nokia.com/id/d2336af2-0953-40a6-8dae-b80d368dead1/Adobe_Flash_Lite_2_x_Components_for_Mobile_Development.html)">Download the Nokia Flash Lite 2 Components</a></p>
<p><strong>Adobe Flash Lite 1 & 2 Components and UI Examples</strong><br />
Over at <a href="http://flashmobileblog.com">flashmobileblog </a>Mark Doherty has released some UI components as well. These are provided for both Flash Lite 1 and Flash Lite 2 projects. There is limited documentations for the examples, the Flash Lite 2 examples look like they should be easy to integrate as long as you intend to use them 'as is' in this case they would  simply require the addition of key listeners to control them. If you needed the components to be used in a more dynamic fashion, there would probably be some work to do. Included in the Flash Lite 2 component examples are:</p>
<ul>
<li><strong>List</strong>, this offers similar functionality to the Dynamic list in the Nokia Component set.</li>
<li><strong>Slider</strong>, This offers a horizontally scrolling icon menu.</li>
<li><strong>Gapper</strong>, This is a vertical variation of the slider.</li>
<li><strong>TileGrid</strong>, Shows a gridded icon menu with scrolling screen control.</li>
<li><strong>NavModel</strong>, this demonstrates a full application screen control system, also included are working Signal and Battery indicators and a list components.</li>
</ul>
<p>The examples in this file are certainly easy on the memory, all of them use less than 500k, this is particularly impressive of the Nav Model example given the amount of interactivity and feedback that is demonstrated.</p>
<p>As with any Flash Lite 1 work, making use of the earlier versions will be a little more fiddly than the Flash Lite 2 counter parts. But the code in each of the examples is clearly identified and if you know your way around ActionScript 1 you should find incorporating the 'components' easy enough. Included in the examples are the following Flash Lite 1.1 components.</p>
<ul>
<li><strong>Carousel</strong>, A full screen horizontal slider.</li>
<li><strong>Displays</strong>, demonstrates the various device stats you can access from Flash Lite 1, also included are battery and signal indicators.</li>
<li><strong>IconMenu</strong>, offers a FlashLite 1 version of the Slider component in the Flash Lite 2 set, this is similar to the functionality produced in the <a href="http://blogs.forum.nokia.com/blog/giorgio-natilis-forum-nokia-blog/flash/2008/04/21/flash-lite-1.1-scrolling-menu">tutorial here</a>.</li>
<li><strong>Menu</strong>, actually seems to be a Flash Lite 2 example, an alternative dynamic list example.</li>
<li><strong>Story</strong>, This is an example of scrolling text in flash Lite 1, similar to the <a href="http://blog.bittube.com/2008/02/27/creating-a-scrolling-text-component-in-adobe-flashlite-11/">scrolling text component I have released.</a></li>
</ul>
<p>Agin the Flash Lite 11 components are very efficient when it comes to memory usage. None used more than 400k when published, and most were below 300k. The trade of with both these example sets from Adobe seem to be the slight increase in the amount of work you would need to do to integrate them. The other thing to note, is that these examples do offer examples of far more compelling UI  methods than simple lists.</p>
<p><a href="http://flashmobileblog.com/?p=112">Download the Adobe Flash Lite 1 & 2 Components and UI Examples</a></p>
<p><strong>Shuriken Open Source Flash Lite 2 Components</strong><br />
The last set of Flash Lite components are those that
<li><a href="http://www.scottjanousek.com/blog/2008/07/19/flash-lite-11-and-20-components/">Scott mentioned</a>, the <a href="http://code.google.com/p/shurikencomponents/">Shuriken Components</a>. I stumbled upon these components some time ago, I am not sure if the project is still live or has fallen dormant. The project offers a fairly comprehensive attempt at providing a full component framework to Flash Lite 2 developers. Included in the distribution zip are source class files, and example .fla's for each component in the library.</p>
<ul>
<li>Button</li>
<li>Calendar</li>
<li>CheckBox</li>
<li>ComboBox</li>
<li>DateEditor</li>
<li>LinkButton</li>
<li>List</li>
<li>Loader</li>
<li>NumericStepper</li>
<li>RadioButton</li>
<li>RadioButtonGroup</li>
<li>ScrollableList</li>
<li>SimpleButton</li>
<li>TextArea</li>
</ul>
<p>While the examples are good they do seem to be quite heavy in terms of memory usage, and they are not without issues. The scrolling list example for instance takes around 700k to display, but more concerning is that this memory usage raises during operation, implying the component has a memory leak somewhere. The complexity of this initiative while making development easier, may be its problem. Complex class structures in Flash Lite tend to give rise to cross references and memory leaks quite quickly.</p>
<p><a href="http://code.google.com/p/shurikencomponents/">Download the Shuriken Open Source Flash Lite 2 Components</a></p>
<p>So there we have it 3 sets of components, all certainly have there advantages and disadvantages. The Nokia Flash Lite components are great for Plug and Play development, I would say the Adobe UI examples are great for producing engaging canned demos as they stand, but with a bit of work could be converted for very memory efficient project use, and the shuriken component frame work may be a little heavy at the moment, but keep a watch on them, they could certainly offer a great, familiar framework for Flash Lite development, when they can solve the memory issues.</p>
<p>Also worth a note is that <a href="http://flashmobileblog.com/?p=112">Mark Doherty has put a shout out</a> at the end of his post regarding a shelved component framework that he could release from Adobe if interest is great enough. Mark has asked the FlashLite comunity to provide some support if it were released, to document and update the project, but this could offer a great opertunity to unify the current state of disperate component solutions emerging.</p>
<p>Credit where its due:</p>
<ul>
<li><a href="(http://www.forum.nokia.com/info/sw.nokia.com/id/d2336af2-0953-40a6-8dae-b80d368dead1/Adobe_Flash_Lite_2_x_Components_for_Mobile_Development.html)">Download the Nokia Flash Lite 2 Components</a></li>
<li><a href="http://flashmobileblog.com/?p=112">Download the Adobe Flash Lite 1 & 2 Components and UI Examples</a></li>
<li><a href="http://code.google.com/p/shurikencomponents/">Download the Shuriken Open Source Flash Lite 2 Components</a></li>
<li><a href="http://flashmobileblog.com">Mark Doherty</a></li>
<li><a href="http://www.scottjanousek.com/blog/2008/07/19/flash-lite-11-and-20-components/">Scott Janousek</a></li>
</ul>
</li>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/07/21/free-flash-lite-components-bonanza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIA + OSP = RAA &#124;&#124; REA &amp;&amp; And how to detect an Open Screen Device</title>
		<link>http://blog.bittube.com/2008/05/06/ria-osp-raa-rea-and-how-to-detect-an-open-screen/</link>
		<comments>http://blog.bittube.com/2008/05/06/ria-osp-raa-rea-and-how-to-detect-an-open-screen/#comments</comments>
		<pubDate>Tue, 06 May 2008 18:45:27 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 1]]></category>
		<category><![CDATA[ActionScript 2]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[ActionScript General]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[BitTube Work]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Flash for PSP]]></category>
		<category><![CDATA[FlashCast]]></category>
		<category><![CDATA[FlashLite 1]]></category>
		<category><![CDATA[FlashLite 2]]></category>
		<category><![CDATA[FlashLite 3]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Convergence]]></category>
		<category><![CDATA[FlashLite]]></category>
		<category><![CDATA[Open Screen Project]]></category>
		<category><![CDATA[OSP]]></category>
		<category><![CDATA[RAA]]></category>
		<category><![CDATA[REA]]></category>
		<category><![CDATA[Rich Anywhere Applications]]></category>
		<category><![CDATA[Rich Everywhere Application]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=277</guid>
		<description><![CDATA[Keeping with the algebraic/code functions as titles from my Last post I thought I would put some thoughts down regarding the news from Adobe earlier this week of their Open Screen Project (OSP). Anyone working in the Web/Internet industry at the moment will be well aware of the Rich Internet/Interactive Application (RIA) moniker. What Adobe [...]]]></description>
			<content:encoded><![CDATA[<p>Keeping with the algebraic/code functions as titles from my Last post I thought I would put some thoughts down regarding the news from Adobe earlier this week of their Open Screen Project (OSP). Anyone working in the Web/Internet industry at the moment will be well aware of the Rich Internet/Interactive Application (RIA) moniker. What Adobe is committing to is much larger though this is about true cross platform convergence. Its about Rich Anywhere Applications (RAA) or Rich Everywhere Applications (REA) if you will. You see what I did there <img src='http://blog.bittube.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
<p>Interestingly this is a concept I began to scratched the surface of with my presentation at Flash On the Beach Last Year, and over the last few months has been a subject I have continued to keep close to hand both in my day job and my personal development projects. At the moment the Flash Player Fragmentation offers a considerable challenge to any developer wanting to design and or develop for multiple devices and multiple screens.</p>
<p>Articles like the one posted over at <a href="http://www.adobe.com/devnet/devices/articles/dynamic_layout.html">ADC on adaptive screen layouts</a> offer a great foot up. But before we get to visual display we need to know what player version we are targeting. And to do that, we have to hit the time machine button and roll back all the way to Flash 4.....</p>
<p><span id="more-277"></span></p>
<p>The Following code should be exported as a Flash 4 ActionScript 1 .swf. This will ensure it can run on the broadest client base. The resultant .swf acts a cross platform redirect that should work within both stand alone and browser based flash clients. Once the .swf loads it will identify the player variation and then redirect the viewer to the appropriate content for there player platform by loading a replacement content swf at the main player level.</p>
<pre class="actionscript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">/**</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">Declare flash platform player strings here. As more devices are discovered this list will grow, the strings are from the getVersion() function</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">*/</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// FlashLite 1.1 player platform string</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">FL1PLATFORM = <span style="color: #ff0000;">&quot;5.2&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// FlashLite 2 or 3 player platform string</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">FL2PLATFORM = <span style="color: #ff0000;">&quot;FL &quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// psp Flash Player Platform string</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">PSPPLATFORM = <span style="color: #ff0000;">&quot;NF3&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Wii Player Platform String</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">WIIPLATFORM = <span style="color: #ff0000;">&quot;WII&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// windows Flash Player Platform string</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">WINPLATFORM = <span style="color: #ff0000;">&quot;WIN&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// mac Flash Player Platform string</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">MACPLATFORM = <span style="color: #ff0000;">&quot;MAC&quot;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">/**</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">Declare files names for flash files of different device configurations</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">NOTE! Include the full path name here</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">*/</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashLite1 = <span style="color: #ff0000;">&quot;fl_fl1.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashLite2 = <span style="color: #ff0000;">&quot;fl_fl2.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashLite3 = <span style="color: #ff0000;">&quot;fl_fl3.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flash6PSP = <span style="color: #ff0000;">&quot;flash6PSP.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flash7WII = <span style="color: #ff0000;">&quot;flash7WII.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashFull8 = <span style="color: #ff0000;">&quot;FullFlash8.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashFull9 = <span style="color: #ff0000;">&quot;FullFlash9.swf&quot;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// get the player version</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">flashVersion = <span style="color: #0066CC;">getVersion</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// display full player information</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>flashVersion<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// test for existence of player version for very early players</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>flashVersion == <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #808080; font-style: italic;">/*</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">	Player does not support $version so is VERY early Flash PLayer</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">	Decide how you wish to handle this case here</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">	*/</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// crop the player version to store the platform</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">playerPlatform = <span style="color: #0066CC;">substring</span><span style="color: #66cc66;">&#40;</span>flashVersion, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// Assign a player version for testing</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// playerPlatform = PSPPLATFORM;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// display platform information</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;playerPlatform&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>playerPlatform<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080; font-style: italic;">// use flashLite 1.1 file</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> FL1PLATFORM<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #808080; font-style: italic;">// launch a FlashLite 1.1 version of the file.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch FlashLite 1.1 player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flashLite1, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">else</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> PSPPLATFORM<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// launch a PSP or Flash 6 version of the file</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch PSP player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flash6PSP, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> WIIPLATFORM<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// launch a PSP or Flash 7 version of the file</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch WII player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flash7WII, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> FL2PLATFORM<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// grab the player version number for flash lite</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		playerVersion = <span style="color: #0066CC;">substring</span><span style="color: #66cc66;">&#40;</span>flashVersion, <span style="color: #cc66cc;">4</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// display version information</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;playerVersion&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>playerVersion<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerVersion == <span style="color: #ff0000;">&quot;7&quot;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #808080; font-style: italic;">// launch a FlashLite 2 version of the file.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch FlashLite 2 player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flashLite2, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerVersion <span style="color: #0066CC;">eq</span> <span style="color: #ff0000;">&quot;8&quot;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #808080; font-style: italic;">// launch a FlashLite version of the file.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch FlashLite 3 player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flashLite3, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> WINPLATFORM<span style="color: #66cc66;">&#41;</span> || <span style="color: #66cc66;">&#40;</span>playerPlatform <span style="color: #0066CC;">eq</span> MACPLATFORM<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// grab the player version number for desktop player</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		playerVersion = <span style="color: #0066CC;">substring</span><span style="color: #66cc66;">&#40;</span>flashVersion, <span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #808080; font-style: italic;">// display version information</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;playerVersion&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>playerVersion<span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>playerVersion == <span style="color: #cc66cc;">8</span> <span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #808080; font-style: italic;">// launch a desktop version 8 of the file.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch desktop player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flashFull8, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>playerVersion == <span style="color: #cc66cc;">9</span> <span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #808080; font-style: italic;">// launch a desktop version 9 of the file.</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Launch desktop player version&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">			<span style="color: #0066CC;">loadMovie</span><span style="color: #66cc66;">&#40;</span>flashFull9, <span style="color: #ff0000;">&quot;_level0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//+&quot;?stgWidth=&quot;+Stage.width+&quot;&amp;stgHeight=&quot;+Stage.height);</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">		<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	<span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0066CC;">stop</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li></ol></pre>
<p>The below zip includes the full source and example 'redirection' movies. If you have any other Client version strings that can be added please let me know and I will try and keep the script updated. For example I would love to know what the Sony Ericcson Java client version reports.</p>
<p><a href='http://blog.bittube.com/wp-content/uploads/2008/05/identifyingclient.zip'>Identiying Flash Client Versions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/05/06/ria-osp-raa-rea-and-how-to-detect-an-open-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe CEO: We&#8217;re bringing Flash to the iPhone!</title>
		<link>http://blog.bittube.com/2008/03/19/adobe-ceo-we%e2%80%99re-bringing-flash-to-the-iphone/</link>
		<comments>http://blog.bittube.com/2008/03/19/adobe-ceo-we%e2%80%99re-bringing-flash-to-the-iphone/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 12:12:59 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Mobile Phones]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Devices]]></category>
		<category><![CDATA[FlashLite]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2008/03/19/adobe-ceo-we%e2%80%99re-bringing-flash-to-the-iphone/</guid>
		<description><![CDATA[This just popped into my news reader from ZDNet.
Well, you really believe that Flash is synonymous with the internet and frankly, anybody who wants to browse the web and experience the web's glory really needs Flash support. We were very excited about the announcement from Windows Mobile, adoption of Flash on their devices and the [...]]]></description>
			<content:encoded><![CDATA[<p>This just popped into my news reader from ZDNet.</p>
<blockquote><p>Well, you really believe that Flash is synonymous with the internet and frankly, anybody who wants to browse the web and experience the web's glory really needs Flash support. We were very excited about the announcement from Windows Mobile, adoption of Flash on their devices and the fact that we've shipped 0.5 billion devices now, non-PC devices. So we are also committed to bringing the Flash experience to the iPhone and we will work with Apple. We've evaluated the SDK, we can now start to develop the Flash player ourselves and we think it benefits our joint customers. So we want to work with Apple to bring that capability to the device.</p></blockquote>
<p>If the mountain wont move to you.. </p>
<p>Go Adobe!</p>
<p>Read the <a href="http://blogs.zdnet.com/BTL/?p=8263">full ZDnet article here</a><br />
Read the <a href="http://seekingalpha.com/article/69113-adobe-systems-inc-f1q08-02-29-2008-earnings-call-transcript?page=-1">SeekingAlpha transcript here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/03/19/adobe-ceo-we%e2%80%99re-bringing-flash-to-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a scrolling text component in Adobe FlashLite 1.1</title>
		<link>http://blog.bittube.com/2008/02/27/creating-a-scrolling-text-component-in-adobe-flashlite-11/</link>
		<comments>http://blog.bittube.com/2008/02/27/creating-a-scrolling-text-component-in-adobe-flashlite-11/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 01:36:21 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 1]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FlashCast]]></category>
		<category><![CDATA[FlashLite 1]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Mobile Phones]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash Cast 1.2]]></category>
		<category><![CDATA[Flash Lite 1.1]]></category>
		<category><![CDATA[FlashLite]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2008/02/27/creating-a-scrolling-text-component-in-adobe-flashlite-11/</guid>
		<description><![CDATA[Recently I have been heavily involved in an on going FlashLite 1.1 based project. Some thing I know my development peers have been extremely jealous of as they bang their heads against the hellish development processes of Flex, Air, ActionScript 3 and Flash 9, not!
One of the most enjoyable features of FlashLite 1.1 is its [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been heavily involved in an on going FlashLite 1.1 based project. Some thing I know my <a href="http://blog.flashgen.com">development</a> <a href="http://www.flashcoder.net/blog/">peers</a> have been extremely jealous of as they bang their heads against the hellish development processes of Flex, Air, ActionScript 3 and Flash 9, not!</p>
<p>One of the most enjoyable features of FlashLite 1.1 is its (lack of) ability to measure the height, width or any metric of text once it is displayed on the screen of your shiny new Nokia N95. This makes efficient text scrolling a particular joy to produce. To this end I have produced a simple example of a fairly flexible scrolling text component for FlashLite 1.1.</p>
<p>Below is a comprehensive (hopefully) tutorial describing how to create such a component.</p>
<p><span id="more-239"></span></p>
<p><strong>Creating the component project</strong><br />
The first thing to do is to create a new FlashLite file, in this tutorial I have based the development on a QVGA mobile phone, such as the N6110 or N95. To do this simply set the stage size to a width of 240 pixels and the height to 320 pixels. I haven't altered the default frame rate. In the flash publish settings "File > Publish Settings" set the Flash version to FlashLite 1.1, this will automatically set the ActionScript version to 1.0 (is there a 1.anything else?) after that we are good to go!</p>
<p><strong>Creating the scrolling text field</strong></p>
<ol>
<li>Create a new symbol in your Library and name it "TextArea".</li>
<li>On the stage of this symbol create a dynamic text field with a width of about 220 pixels and a height of 280 pixels.</li>
<li>With the text field selected put "text" in the Var field in the properties inspector. We will use this later to assign text to the field, remember no instance names on text fields in FlashLite 1.1.</li>
<li>Next create a new symbol in your Library and Name it "ScrollingTextArea".</li>
<li>On the stage of this symbol drag an instance of your "TextArea" symbol and position it to position X:0 and Y:0 and give it an instance name of "textArea_mc", for clarity you should name the layer this instance sits on "TextArea" or you might prefer "textArea_mc".</li>
<li>Add a new layer to your "ScrollingTextArea" symbol and name it "ActionScript". On this layer in frame 1 add the ActionScript command <code>stop();</code>.</li>
<li>Create a new layer folder and name it "CallFunctions". </li>
<li>Inside the "CallFunctions" folder create a new layer and call it "init", on this new layer create a blank key frame on frame 2 and give it the frame label "init".</li>
<li>On the new "init" frame add the following code that will be used later to initialise our scrolling text field.
<p><code><br />
// store maxScroll Locally<br />
maxScroll = textArea_mc:text.maxscroll;<br />
// if max scroll is greater than 1 we know we need the text to scroll<br />
if(maxScroll > 1)<br />
{<br />
	// store the current scroll position loccally<br />
	currentScroll = 1;<br />
	// set scrollPercent to 0.<br />
	scrollPercent = 0;<br />
	//set the scroll bar height to the height of the text field<br />
	scrollBar_mc.trackHeight = textArea_mc._height;<br />
	//set the scroll thumb height<br />
	scrollBar_mc.thumbHeight = 30;<br />
	// init the scroll bar<br />
	call("scrollBar_mc/:Init");<br />
	// show the scroll bar<br />
	scrollBar_mc._visible = true;<br />
}<br />
// otherwise hide the scroll bar, its not needed.<br />
else<br />
{<br />
	scrollBar_mc._visible = false;<br />
}<br />
</code></p>
<p>At this stage most of the values in this code block will not function, but they will be required in a later step.</li>
<li>Inside the "CallFunctions" folder create a new layer and call it "setText", on this new layer create a blank key frame on frame 3 and give it the frame label "setText".</li>
<li>On the new "setText" frame add the following code that is used to populate our text field component.
<p><code><br />
// set the text value to the text field<br />
textArea_mc:text = text;<br />
// call init to reset scroll parameters<br />
call("init");<br />
</code></p>
</li>
<li>Inside the "CallFunctions" folder create a new layer and call it "scrollUp", on this new layer create a blank key frame on frame 4 and give it the frame label "scrollUp".</li>
<li>On the new "scrollUp" frame add the following code that is used to scroll the text in our component up the screen.
<p><code><br />
// increase the text scroll<br />
textArea_mc:text.scroll++;<br />
// store the current scroll position locally<br />
currentScroll = textArea_mc:text.scroll;<br />
// if the current scroll position is the same as maxScroll scrollPercent is 100<br />
if(currentScroll == maxScroll)<br />
{<br />
	scrollPercent = 100;<br />
}<br />
// other wise calculate the percentage scroll position<br />
else<br />
{<br />
	scrollPercent = Math.ceil(((currentScroll-1)/maxScroll) *100);<br />
}<br />
// set the scroller scroll percentage<br />
scrollBar_mc.scrollPercent = scrollPercent;<br />
// call the scrollBar setScrollPercent function<br />
call("scrollBar_mc/:setScrollPercent");<br />
</code></p>
</li>
<li>Inside the "CallFunctions" folder create a new layer and call it "scrollDown", on this new layer create a blank key frame on frame 5 and give it the frame label "scrollDown".</li>
<li>On the new "scrollDown" frame add the following code that is used to scroll the text in our component up the screen.
<p><code><br />
// decrease the text scroll<br />
textArea_mc:text.scroll--;<br />
// store the current scroll position locally<br />
currentScroll = textArea_mc:text.scroll;<br />
// if the current scroll position is at 1 then there is no more scrolling to be done, so scrollPercent is 0<br />
if(currentScroll == 1)<br />
{<br />
	scrollPercent = 0;<br />
}<br />
// other wise calculate the percentage scroll position<br />
else<br />
{<br />
	scrollPercent = Math.ceil(((currentScroll-1)/maxScroll) *100);<br />
}<br />
// set the scroller scroll percentage<br />
scrollBar_mc.scrollPercent = scrollPercent;<br />
// call the scrollBar setScrollPercent function<br />
call("scrollBar_mc/:setScrollPercent");<br />
</code></p>
</li>
<li>Finally add code to frame 1 of the actionscript layer so it looks like this:
<p><code><br />
// by default hide the scrollbar<br />
scrollBar_mc._visible = false;<br />
// call the text field init function<br />
call("Init");<br />
stop();<br />
</code>
</li>
</ol>
<p>Thats all there is for the development of the text field, and also for the scrolling functionality. You will notice that in our text field "scrollUp" and "scrollDown" call frames we reference a scroll bar clip, we will now create that scrollbar.</p>
<p><strong>Create a simple FlashLite 1.1 scroll bar component</strong></p>
<ol>
<li>In your library create a new symbol and call it "square".</li>
<li>On the stage of your new "square" symbol draw a square with no stroke give it a width and height of 50 pixels, place the graphic at X:0 and Y:0.</li>
<li>In your library create a new symbol and call it "scrollbar".</li>
<li>Label the layer in your new "ScrollBar" symbol "scrollTrack". Bring an instance of the "square" symbol on to this layer and position it at X:0 and Y:0 change the symbol instance's with to 10 pixels and its height to 100 pixels. Also give the instance an instance name of "scrollTrack_mc" and apply a colour tint of your choice.</li>
<li>Create a new layer above the "scrollTrack" layer name this new layer "ScrollThumb" and add another instance of your "square" symbol to it.</li>
<li>This time set the instance name to "scrollThumb_mc". Position it at X:1 and Y:1. Set the new "scrollThumb_mc" width to 8 pixels and its height to 50 pixels. Again apply a colour tint, making sure it is different to the one you applied to the "scrollTrack_mc" instance.</li>
<li>Add a new layer and name it "ActionScript". In frame 1 of this new layer add the following code:
<p><code><br />
// call the scroll bar init function<br />
call("init");<br />
stop();<br />
</code>
	</li>
<li>Create a new layer folder and name it "CallFunctions". </li>
<li>Inside the "CallFunctions" folder create a new layer and call it "init", on this new layer create a blank key frame on frame 2 and give it the frame label "init".</li>
<li>On the new "init" frame add the following code that will be used later to initialise our scrolling scroll bar.
<p><code><br />
// apply padding to the scroll thumb<br />
scrollPadding = 1;<br />
// call the set scroll height function<br />
call("setScrollHeight");<br />
</code>
</li>
<li>Inside the "CallFunctions" folder create a new layer and call it "setScrollHeight", on this new layer create a blank key frame on frame 3 and give it the frame label "setScrollHeight".</li>
<li>On the new "setScrollHeight" frame add the following code.
<p><code><br />
// resize the scroll track<br />
scrollTrack_mc._height = trackHeight;<br />
// resize the scroll thumb<br />
scrollThumb_mc._height = thumbHeight;<br />
// set the tscroll thumb position to the padding value<br />
scrollThumb_mc._y = scrollPadding;<br />
// store the max scroll position<br />
maxScroll = (trackHeight - thumbHeight);<br />
</code>
</li>
<li>Inside the "CallFunctions" folder create a new layer and call it "setScrollPercent", on this new layer create a blank key frame on frame 3 and give it the frame label "setScrollPercent".</li>
<li>On the new "setScrollPercent" frame add the following code.<br />
<code><br />
// set the scroll position based on a percentage value using math. <img src='http://blog.bittube.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
scrollThumb_mc._y = Math.max(((maxScroll*(scrollPercent/100))-scrollPadding), scrollPadding);<br />
</code>
</li>
</ol>
<p>This completes the development of the simple scrollbar component, all you need to do is to add it to the "ScrollingTextArea" clip we created earlier.</p>
<ol>
<li>Return to editing the "ScrollingTextArea" symbol in the library. Add a new layer above the "TextArea" layer and name it "ScrollBar".</li>
<li>Drag an instance of the SrollBar symbol out onto the new layer. Position the new instance at X:225 and Y:0.</li>
<li>Give the new ScrollBar instance an instance name of "scrollBar_mc".</li>
</ol>
<p>This completes the development of the scrolling text field component. All that remains is to show how it can be used within a project. To do this we need to add the scrolling text field to the stage of the main time line, add some ActionScript to populate the text field component, and then add a key press handler.</p>
<p><strong>Completing the project</strong></p>
<ol>
<li>Re-name the layer "Layer 1" on the main movie time line to "textArea".</li>
<li>Drag an instance of our "ScrollingTextArea" clip onto the new "textArea" layer. Position the new instance at X:0 and Y:19. Give the new instance an instance name of "scrollingText_mc".</li>
<li>Create a new Layer above the "textArea" layer and name the new layer "ActionScript". On frame 1 of this layer add the following code:
<p><code><br />
// dummy text to populate our text field<br />
textVar0 = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce non urna. Ut leo metus, euismod non, semper et, ultrices at, nisl. Fusce non orci vitae dui blandit sagittis. Vestibulum laoreet feugiat leo. Suspendisse malesuada. Maecenas ultricies fermentum mi. Proin nulla. Mauris at dolor a nisl cursus congue. Maecenas id justo tincidunt augue molestie commodo. Donec nec metus eu tellus cursus mollis. Cras justo. Nunc sapien arcu, luctus id, porta sit amet, ultrices non, metus. Donec cursus. Aenean eleifend facilisis odio. Sed suscipit, odio eu fringilla ornare, eros metus eleifend quam, eget facilisis nulla turpis at tellus. Ut et massa a est faucibus fringilla. Nam nisl magna, condimentum non, lobortis et, porta non, ipsum. Aliquam ultricies augue sed urna. Sed ligula magna, vehicula at, scelerisque id, luctus eget, tortor. Donec aliquet purus ut neque.\n\nCras porttitor facilisis sem. Praesent cursus nulla euismod lorem. Donec vitae nunc. Quisque nec quam. Integer nonummy nisl vel mauris. Aliq\n\nam sed felis eu risus scelerisque scelerisque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed tortor nisl, sodales et, eleifend sed, porta eget, urna. Sed adipiscing dolor sit amet dolor. Vestibulum fermentum lorem quis nulla. Donec id ligula. Suspendisse potenti. Aenean ac quam quis sapien sollicitudin dapibus. Cras vitae neque nec ante pharetra hendrerit.\n\nDonec ante lectus, gravida non, nonummy et, pulvinar ut, lectus. Ut sem nisi, dapibus non, scelerisque at, convallis sit amet, dolor. Cras vitae velit et lectus rhoncus ullamcorper. Sed sodales adipiscing tortor. Curabitur non dui ut ligula laoreet mattis. Ut vitae lacus quis enim placerat tristique. Donec ornare mauris eget sem faucibus lacinia. Vestibulum hendrerit diam et neque. Vestibulum imperdiet. Maecenas tincidunt felis vitae lectus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam suscipit hendrerit felis. Mauris convallis elit vel justo. Nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam vel mi. Phasellus ultrices porta felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Ut sed metus vel erat ultricies egestas. Pellentesque et ligula.";<br />
// alternate dummy text to try, this should hide the scroll bar<br />
textVar1 = "Test Text";<br />
// set the text var we want assigned to our text field<br />
scrollingText_mc.text = textVar0;<br />
// call teh set text function on our scrolling text field<br />
call("/scrollingText_mc/:setText");<br />
stop();<br />
</code>
</li>
</ol>
<p>This provides some dummy text with which to populate the text field component that has been developed, it then assigns one of the text variables to the components "text" value, and calls the "setText" function in the call frame of the scrolling text field component.</p>
<p>At this point you could export and test the movie, you should see the field is populated, and the scroll bar is correctly scaled and displayed to indicate that the text will scroll. Finally we create the controls to make the textscroll.</p>
<ol>
<li>Create a new button in your library and call it "keycatcher".</li>
<li>In the "up" frame of this button I have put simple text label with the string "KeyCatcher" so I can identify the symbol on stage.</li>
<li>Return to the main timeline and create a new layer above the "textArea" layer, name this new layer "KeyCatcher".</li>
<li>Drag an instance of the "keycatcher" button onto the stage on this new layer. Position it off stage at X:-110.0 and Y:0.</li>
<li>With the "keycatcher" button still selected add the following key handling code to the button:
<p><code><br />
// assign our down key press handler<br />
on (keyPress "<down>")<br />
{<br />
	// only cal the scroll function if the test is not at its maximum scroll<br />
	if(scrollingText_mc.currentScroll < scrollingText_mc.maxScroll)<br />
	{<br />
		call("scrollingText_mc/:scrollUp");<br />
	}<br />
}<br />
// assign our up key press handler<br />
on (keyPress "<Up>")<br />
{<br />
	// only cal the scroll function if the test is not at its minimum scroll<br />
	if(scrollingText_mc.currentScroll > 1)<br />
	{<br />
		call("scrollingText_mc/:scrollDown");<br />
	}<br />
}<br />
</down></code>
</li>
</ol>
<p>All that should remain is to save, export and test you new component in Device Central.</p>
<p><a href='http://blog.bittube.com/wp-content/uploads/2008/02/scrollingtext_20080227.zip' title='scrolling text component for Adobe FlashLite 1.1'>Download the source files of the scrolling text component for Adobe FlashLite 1.1</a></p>
<p><strong>NOTE:</strong> If you have used embedded fonts in your text area and are seeing no text appearing, try using device fonts (non embedded) instead. Apparently there is a know isue with Flash CS3 exporting embedded fonts in FlashLite 1.1 swf files that are viewed in Device Central. More information is discussed briefly <a href="http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=68&catid=615&threadid=1334208&enterthread=y">on the Adobe Device Central forums</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/02/27/creating-a-scrolling-text-component-in-adobe-flashlite-11/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nokia N830 WiMAX Tablet Leaked</title>
		<link>http://blog.bittube.com/2008/02/20/nokia-n830-wimax-tablet-leaked/</link>
		<comments>http://blog.bittube.com/2008/02/20/nokia-n830-wimax-tablet-leaked/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 00:00:10 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash 9]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Nokia]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2008/02/20/nokia-n830-wimax-tablet-leaked/</guid>
		<description><![CDATA[Another week and another Nokia device makes its way onto the information super highway, this time courtesy of a BestBuy sales flyer. The rumor mill has begun speculating whether the black internet tablet pictured is the new Nokia N830 the WiMax equipped version of the N810 internet tablet. The N810 you will recall is the [...]]]></description>
			<content:encoded><![CDATA[<p>Another week and another Nokia device makes its way onto the information super highway, this time courtesy of a BestBuy sales flyer. The rumor mill has begun speculating whether the <a href="http://www.intomobile.com/2008/02/19/nokia-n830-wimax-equipped-internet-tablet-leaked.html">black internet tablet pictured</a> is the new Nokia N830 the WiMax equipped version of the N810 internet tablet. The N810 you will recall is the Linux based internet tablet that comes pre-installed with the AdobeÂ® FlashÂ® 9 player to support video and audio streaming, among other things <img src='http://blog.bittube.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , you can <a href="http://www.nseries.com/nseries/v3/media/sections/products/tech_specs/en-R1/tech_specs_n810_en_R1.html">see the specs of the N810 here</a>.</p>
<p>Credit where its due:<br /><a href="http://www.intomobile.com/2008/02/19/nokia-n830-wimax-equipped-internet-tablet-leaked.html">Into Mobile</a><br /><a href="http://www.internettablettalk.com/2008/02/19/is-this-the-wimax-internet-tablet/">Internet Tablet Talk</a><br /><a href="http://tabletblog.com/">Tablet Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/02/20/nokia-n830-wimax-tablet-leaked/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash on the Beach 07 Presentation Files</title>
		<link>http://blog.bittube.com/2007/11/11/flash-on-the-beach-07-presentation-files/</link>
		<comments>http://blog.bittube.com/2007/11/11/flash-on-the-beach-07-presentation-files/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 23:32:54 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[BitTube Thoughts]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Localization]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[FOTB 07]]></category>
		<category><![CDATA[Localisation]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2007/11/11/flash-on-the-beach-07-presentation-files/</guid>
		<description><![CDATA[FOTB 07. What can I say. Incredible. First off let me say a very big thank you to John Davey. John did a great job, I can only guess the amount of organization involved in Flash on the beach, the speaker list and session line up were brilliant, and the shwag was top draw, both [...]]]></description>
			<content:encoded><![CDATA[<p>FOTB 07. What can I say. Incredible. First off let me say a very big thank you to John Davey. John did a great job, I can only guess the amount of organization involved in Flash on the beach, the speaker list and session line up were brilliant, and the shwag was top draw, both for attendees and speakers. It was a pleasure and an honor to have the chance to be involved in a presenting capacity. Thank you for inviting me John.<br />
<br />
At the event I presented a session that discussed the issues of Localisation, and to a lesser extent my new love, Mobilisation. This was my first time presenting at a larger event like this. Certainly I was nervous, and I am sure that there were tell tale cracks in my voice a few times as I went through my slides. As I got in to the flow of the presentation I think I settled in a little.<br />
<br />
I did have a slight issue with timing, which meant I rushed the last few slides, unfortunately, as a result I had to drop one of the examples. It also meant that I missed the opportunity to ask questions of the people that attended if they had any. So my apologies there.<br />
<br />
Any way below is the link to my speakers notes, and also the examples from my session on Localisation.<br />
<br />
<a href='http://blog.bittube.com/wp-content/uploads/2007/11/presentationexport.zip' title='Flash on the Beach 07 Presentation Files'>Flash on the Beach 07 Localisation Presentation Files</a><br />
<br />
On a related note I have uploaded to Flickr a few of the images my little lomo camera captured of the event. You can see them over on my <a href="http://flickr.com/photos/bittube/sets/72157603012165872/">Flickr stream</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2007/11/11/flash-on-the-beach-07-presentation-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl 3d, An alternative to PaperVision3d?</title>
		<link>http://blog.bittube.com/2007/10/02/perl-3d-an-alternative-to-papervision3d-2/</link>
		<comments>http://blog.bittube.com/2007/10/02/perl-3d-an-alternative-to-papervision3d-2/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 18:06:40 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript General]]></category>
		<category><![CDATA[BitTube Thoughts]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[PaperVision]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2007/10/02/perl-3d-an-alternative-to-papervision3d-2/</guid>
		<description><![CDATA[Via: PixelSurgeon.com is this link to a 3d proof of concept called Perl3d. No more info that that I'm afraid. But it certainly does look purdy  
]]></description>
			<content:encoded><![CDATA[<p>Via: <a href="http://pixelsurgeon.com" target="_blank">PixelSurgeon.com</a> is this link to a 3d proof of concept called <a href="http://electricoyster.com/esp3d" target="_blank">Perl3d</a>. No more info that that I'm afraid. But it certainly does look purdy <img src='http://blog.bittube.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2007/10/02/perl-3d-an-alternative-to-papervision3d-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FlashLite 3 update availible for Flash CS3 &amp; FlashLite 3 update for Device Central</title>
		<link>http://blog.bittube.com/2007/10/01/flashlite-3-update-availible-for-flash-cs3-device-central/</link>
		<comments>http://blog.bittube.com/2007/10/01/flashlite-3-update-availible-for-flash-cs3-device-central/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 09:25:04 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[BitTube Work]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[FlashLite 3]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[Mobile Phones]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Device Central]]></category>
		<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[FlashLite]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Phones]]></category>
		<category><![CDATA[PhonesAdobe]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/2007/10/01/flashlite-3-update-availible-for-flash-cs3-device-central/</guid>
		<description><![CDATA[Following the press release announcing FlashLite 3 I proceeded to do some more digging. Wondering how I can start producing this new fangled FlashLite 3 Content, I followed some links through from the new Nokia Mobile Developers Site mentioned in the previous post and found new downloads for updates to Flash CS3 and Device Central [...]]]></description>
			<content:encoded><![CDATA[<p>Following the press release announcing FlashLite 3 I proceeded to do some more digging. Wondering how I can start producing this new fangled FlashLite 3 Content, I followed some links through from <a href="http://www.forum.nokia.com/main/resources/technologies/flash/index.html">the new Nokia Mobile Developers Site</a> mentioned in the <a href="http://blog.bittube.com/2007/10/01/adobe-announces-flashlite-3-at-max-chicago/">previous post</a> and found new downloads for updates to Flash CS3 and Device Central at the<a href="http://www.adobe.com/devnet/devices/"> Adobe Developer Connection Web Site</a></p>
<p><a href="http://www.adobe.com/support/devicecentral/downloads.html">FlashLite 3.0 Update for Device Central </a><br />
<a href="http://www.adobe.com/support/flash/downloads.html"><br />
Flash Lite 3.0 Update for Flash CS3</a></p>
<p>Interestingly the download for Flash CS3 is rather cryptically called "<a href="http://download.macromedia.com/pub/flashlite/3/EN/RobRoy_9_0_0_d156_patch.dmg">RobRoy_9_0_0_d156_patch.dmg</a>"? or "<a href="http://download.macromedia.com/pub/flashlite/3/EN/RobRoy_9_0_0_d156_patch.exe">RobRoy_9_0_0_d156_patch.exe</a>" for windows?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2007/10/01/flashlite-3-update-availible-for-flash-cs3-device-central/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
