
<?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; FlashCast</title>
	<atom:link href="http://blog.bittube.com/category/development/flashcast/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>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Catalogue Of 30+ Flash Lite Development Tips</title>
		<link>http://blog.bittube.com/2009/02/24/catalogue-of-30-flash-lite-development-tips/</link>
		<comments>http://blog.bittube.com/2009/02/24/catalogue-of-30-flash-lite-development-tips/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 17:15:36 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 1]]></category>
		<category><![CDATA[ActionScript 2]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[BitTube Work]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash Lite]]></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[Flash]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=465</guid>
		<description><![CDATA[Rien Verbrugghe has done a great job of cataloging a huge number of Flash Lite development, testing and packaging tips from a number of conference sessions and also the various Flash Lite development blogs. If you want a handy quick reference of Flash Lite development tricks and common gotchas this is worth book marking or [...]]]></description>
			<content:encoded><![CDATA[<p>Rien Verbrugghe has done a great job of cataloging a huge number of Flash Lite development, testing and packaging tips from a number of conference sessions and also the various Flash Lite development blogs. If you want a handy quick reference of Flash Lite development tricks and common gotchas this is worth book marking or printing out.</p>
<p><a href="http://blog.rive.be/2009/02/24/30-tips-tricks-in-flash-lite-development/trackback/">blog.rive.be</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2009/02/24/catalogue-of-30-flash-lite-development-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fantastic Networking and Learning opportunities at Adobe Max</title>
		<link>http://blog.bittube.com/2008/10/31/fantastic-networking-and-learning-opportunities-at-adobe-max/</link>
		<comments>http://blog.bittube.com/2008/10/31/fantastic-networking-and-learning-opportunities-at-adobe-max/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 15:47:30 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[ActionScript 2]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[FlashCast]]></category>
		<category><![CDATA[MA]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Flash Cast]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[Mobile Devices]]></category>
		<category><![CDATA[San Fransico]]></category>

		<guid isPermaLink="false">http://blog.bittube.com/?p=415</guid>
		<description><![CDATA[With Adobe Max San Francisco now only 2 weeks away its important to make sure you have organized your schedule, if you haven't already. This year Adobe hosting 2 events which aim to bring developers together with some of the industry leaders in the mobile market place. So if you are a developer interested in [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_419" class="wp-caption alignleft" style="width: 182px"><img src="http://blog.bittube.com/wp-content/uploads/2008/10/aobe_max08_thumb.png" alt="adobe max08 thumbnail" title="adobe max08 thumbnail" width="172" height="138" class="size-full wp-image-419" /><p class="wp-caption-text">   </p></div> With Adobe Max San Francisco now only 2 weeks away its important to make sure you have organized your schedule, if you haven't already. This year Adobe hosting 2 events which aim to bring developers together with some of the industry leaders in the mobile market place. So if you are a developer interested in mobile or you already have content or existing applications that you think might work as a mobile application or service, Adobe Max should offer some great opportunities to get information from the experts.</p>
<p><strong>Mobile Summit<br />
November 16, 2008 at the Marriott from 1pm-6pm</strong><br />
Join Adobe and our partners — Nokia, Qualcomm®, Verizon, Sony Ericsson, GetJar, Thumbplay®, and Zed — to learn about new opportunities for mobile developers this year. Get a sneak peak at what you will see and hear at MAX before anyone else does! Hear from Adobe partners and key industry players as they present the newest mobile solutions, technologies, and distribution opportunities for mobile developers.  To learn more and RSVP for this event go to: <a href="http://www.eventsadobe.com/mobilesummitmax08/invite.html">http://www.eventsadobe.com/mobilesummitmax08/invite.html</a></p>
<p><strong>Mobile Fast Pitch Networking Party<br />
November 19, 2008 at the Thirsty Bear from 6:16pm-9:30pm</strong><br />
Adobe is hosting a special Mobile Networking Party to allow developers to showcase their mobile applications using our Adobe® Flash® mobile technologies. If you already have a web-based application and are thinking of going mobile, you can also present your idea and get feedback from our industry leaders. Join us to support fellow developers or to present your ideas.  For more RSVP and presentation information for this event go to: <a href="http://www.eventsadobe.com/mobilenetworkingparty/invite.html ">http://www.eventsadobe.com/mobilenetworkingparty/invite.html<br />
</a></p>
<p>In addition to these 2 events there are also a number of great sessions on at the conference tailored to Mobile:</p>
<ul>
<li>Open Screen Project: Delivering Rich Internet Experiences Across Devices</li>
<li>Creating Mobile Applications: A Real-World Example</li>
<li>Mobile Workflows with Creative Suite® 4 and Adobe Device Central CS4</li>
<li>Flash Lite 3: Learn How to Package and Distribute Mobile Content</li>
<li>Spotlight on Finetune and Teknision™: Building a Multiscreen Application</li>
<li>Create Unique Browsing Experiences on Nokia Phones</li>
<li>How to Build a Mobile Business</li>
<li>Developing the Ultimate Flash Cast™ Channels</li>
<li>Project Capuchin – Bridging Adobe Flash Lite and Java ME™</li>
</ul>
<p>Remember the most popular MAX sessions fill very early, so be sure to register today to secure seats in your preferred sessions. You’ll be surprised by what real live Adobe Flash Lite applications exist today.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bittube.com/2008/10/31/fantastic-networking-and-learning-opportunities-at-adobe-max/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 for PSP]]></category>
		<category><![CDATA[Flash Lite]]></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>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 [...]]]></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>
	</channel>
</rss>

