<?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>hydrotik &#124; flash development &#124; actionscript &#124; creative &#187; Flashbelt 08</title>
	<atom:link href="http://blog.hydrotik.com/category/flashbelt-08/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hydrotik.com</link>
	<description>actionscript and creative playground of Donovan Adams</description>
	<lastBuildDate>Tue, 04 May 2010 15:24:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FlashBelt 2008 In closing&#8230;</title>
		<link>http://blog.hydrotik.com/2008/06/12/flashbelt-2008-in-closing/</link>
		<comments>http://blog.hydrotik.com/2008/06/12/flashbelt-2008-in-closing/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 14:47:41 +0000</pubDate>
		<dc:creator>djdonovan</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flashbelt 08]]></category>

		<guid isPermaLink="false">http://blog.hydrotik.com/2008/06/12/flashbelt-2008-in-closing/</guid>
		<description><![CDATA[So here I am at 9:30 in the morning on Thursday getting ready to head back to New York. I'm a bit sad to report I'm not hung over from attending the Nye's closing party. I think the combination of exhaustion, the tornado watch, and the need to decompress and write a little code from [...]]]></description>
			<content:encoded><![CDATA[<p>So here I am at 9:30 in the morning on Thursday getting ready to head back to New York. I'm a bit sad to report I'm not hung over from attending the Nye's closing party. I think the combination of exhaustion, the tornado watch, and the need to decompress and write a little code from all the inspiration took precedence over last nights events. Hopefully I'll see a few familiar faces on the way to the airport today.</p>
<p>Spending time with the likes of Jeremy Thorp, Phil Van Allen, Jared Tarbell, Mark Anders, Andre Michelle, Josh Hirsch, Seb Lee-Delisle, Lisa Larson-Kelly, Mario Klingemann, Nico and Frank, and of course running around with Moses, Jud, and Alan, really made the trip an amazing experience. It was also great meeting the attendees and the many new faces. I think that's what's so special about FlashBelt and sets it apart from other conferences. It's really one big group of people here to chat about what they love to do. Once again I have to thank Moses for letting me be a part of his presentation and enjoy the presenter experience here. It was truly awesome and I hope I get a chance to do it again. I know there's a few people I didn't get a chance to meet and connect up with. Big thanks to Dave for hosting the event!</p>
<p>So I hope to take in all this information and inspiration and have some stuff to show soon. There was definitely an artistic and playful undertone to the conference, something I love and hope to spend more time doing. Eric, Jared, and Roger's work is brilliant and inspiring and you should definitely check out their work if you haven't in a while. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hydrotik.com/2008/06/12/flashbelt-2008-in-closing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flashbelt 2008 + Animation to Go + HydroTween + Papervision3D</title>
		<link>http://blog.hydrotik.com/2008/06/08/flashbelt-2008-animation-to-go-hydrotween-papervision3d/</link>
		<comments>http://blog.hydrotik.com/2008/06/08/flashbelt-2008-animation-to-go-hydrotween-papervision3d/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 15:20:22 +0000</pubDate>
		<dc:creator>djdonovan</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flashbelt 08]]></category>
		<category><![CDATA[GO]]></category>
		<category><![CDATA[Making Things]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://blog.hydrotik.com/2008/06/08/flashbelt-2008-animation-to-go-hydrotween-papervision3d/</guid>
		<description><![CDATA[Getting ready to leave for MN and I'm very excited to be a part of Moses' presentation at Flashbelt 2008! I will be providing a brief introduction to  HydroTween. HydroTween is a multi-purpose tweening parser that runs on top of the Go framework. If you are familiar with ZigoEngine, Fuse, or Tweener, then using [...]]]></description>
			<content:encoded><![CDATA[<p>Getting ready to leave for MN and I'm very excited to be a part of Moses' presentation at Flashbelt 2008! I will be providing a brief introduction to  HydroTween. HydroTween is a multi-purpose tweening parser that runs on top of the Go framework. If you are familiar with ZigoEngine, Fuse, or Tweener, then using HydroTween should be a seamless transition. In this post, you will find the examples shown during the presentation. I've also put together an online version of what I will be showing. I was hoping to also include a demonstration of the Making Things controller running a tween on a servo, but my laptop isn't being cooperative. I will provide a separate post with an update on that as well as a library I am working on for controlling modules.</p>
<p>Back to the subject at hand, here are the 3 examples that I will be showing. The first is an example of generic tweening with most of the basic properties, filters, and image/hsb tweening. The second is a Fuse type example using navigation with multiple tweening properties running at once. The last is a Papervision3D example that is tweening a number of properties including brightness. Thanks to Andy Zupko's heroic efforts of merging the GreatWhite and Effects branches of Papervision together, we have alpha and the other none-positioning properties at our tweening disposal for 3D objects!</p>
<p><a href="/wp-content/flashbelt2008/" target="_blank">Here is the link to the presentation along with the examples.</a> &#8211; Click into the SWF, then use the forward and back arrows to navigate.</p>
<p>I also urge you to check out my previous post that has useful information and source examples, along with changes and important features that have been added. HydroTween will call you renderer for automatic updating of your Papervision scene by registering with HydroTween using the init3D() method. One important new addition is the ability to pass a DisplayObject3D target into this init method for automatic use of the lookAt() method.</p>
<p><a href="http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/">Here is the link to the previous post with more information about using HydroTween.</a></p>
<p>If you'd like to go directly to the examples:<br />
<a href="/wp-content/flashbelt2008/hydrotween.html" target="_blank">Generic HydroTween</a><br />
<a href="/wp-content/flashbelt2008/fuse.html" target="_blank">Fuse Style Tweening</a><br />
<a href="/wp-content/flashbelt2008/papervision.html" target="_blank">Papervision3D</a> &#8211; Clicking on an image will bring it up.</p>
<p>Looking forward to seeing everyone there!</p>
<p>And of course, the source! I have included everything in the examples, including the presentation!</p>
<hr />
<a href="/wp-content/flashbelt2008/FlashBelt%20Presentation.zip">Flashbelt2008 HydroTween Source and Examples</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hydrotik.com/2008/06/08/flashbelt-2008-animation-to-go-hydrotween-papervision3d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Go 0.4.8jg1 + HydroTween rev30 + Guide + Source Code</title>
		<link>http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/</link>
		<comments>http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/#comments</comments>
		<pubDate>Wed, 14 May 2008 01:39:12 +0000</pubDate>
		<dc:creator>djdonovan</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flashbelt 08]]></category>
		<category><![CDATA[GO]]></category>
		<category><![CDATA[Source Code]]></category>

		<guid isPermaLink="false">http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/</guid>
		<description><![CDATA[The latest rev is 32. I have added the changes to this document in addition to the other updates.
Update 31d Fixed a bug from the removal of OverlapMonitor. Thanks John!
Update 32 Smoothness issue has been fixed with pulseInterval and example updated for 0.4.9. Start Values have been added for non-color/image matrix properties
Update 33 Made a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The latest rev is 32. I have added the changes to this document in addition to the other updates.</strong></p>
<p><strong>Update 31d</strong> Fixed a bug from the removal of OverlapMonitor. Thanks John!</p>
<p><strong>Update 32</strong> Smoothness issue has been fixed with pulseInterval and example updated for 0.4.9. Start Values have been added for non-color/image matrix properties</p>
<p><strong>Update 33</strong> Made a couple updates and a post for the FlashBelt 2008 conference. A few more examples. I also added a DisplayObject3D target argument in the init3D() method for running a lookAt() during scene renders. <a href="http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/">Click here for the recent post.</a></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Color Tweening!</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">color</span>:0xFF0000<span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Fuse style sequencing!</span>
<span style="color: #000000; font-weight: bold;">var</span> seq1:SequenceCA = HydroTween.<span style="color: #006600;">parseSequence</span><span style="color: #66cc66;">&#40;</span>
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">320</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">8</span>, Blur_blurY:<span style="color: #cc66cc;">8</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, <span style="color: #0066CC;">color</span>:0x0000FF, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">0</span>, Blur_blurY:<span style="color: #cc66cc;">0</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">400</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, rotation:<span style="color: #cc66cc;">270</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#41;</span>;
seq1.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>After a short hiatus from the blog, and a wedding, I've been able to knock out some much needed changes and additions to HydroTween. I'm excited about this because now I can move onto the fun stuff and I've started putting together a roadmap of sorts. Go has been picking up steam and examples have been popping up which is great to see. Most people seem to think there are two types of users of Go. The ones that simply want to tween away, have something functioning, and useful right away. The other types are interested in developing their own tweening system and animation utilities either for all around use or for specialized applications. I'm excited about the 3rd group which falls in the middle. These are the people that want the first, but find themselves becoming the latter just because of the Methodology of Go. I used to be in the first group for quite some time until Go came along and then I found myself thrown intro the world of tweening. I've been saying this for some time now, but the beauty of Go is that you might find yourself in the middle with very little effort. Once you it that point, consider yourself an addict. This post should help with a general understanding of HydroTween. I also hope this post will open some eyes to the idea of going it along and giving their own parser a shot. That said I will start with the usage of HydroTween and it's updates, then I will follow with my own trial and tribulations of reaching this recent version. The example below along with the source is located at the end of this post.</p>
<p><a href="http://code.google.com/p/goasap/" target="_blank">Click here for the Go Project Site</a> &#8211; Go Project Site</p>
<p><a href="http://code.google.com/p/goplayground/wiki/HydroTween" target="_blank">Click here for the Go Playground Project Site</a> &#8211; Home of Parsers/User Generated Go projects and examples.</p>
<hr />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_hydrotween_rev32_20998626"
			class="flashmovie"
			width="600"
			height="600">
	<param name="movie" value="/wp-content/hydrotween_rev32.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/wp-content/hydrotween_rev32.swf"
			name="fm_hydrotween_rev32_20998626"
			width="600"
			height="600">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<hr />
<p><strong>Current Tweenable Properties:</strong></p>
<ul>
<li>alpha</li>
<li>Bevel_angle</li>
<li>Bevel_blurX</li>
<li>Bevel_blurY</li>
<li>Bevel_color</li>
<li>Bevel_distance</li>
<li>Bevel_highlightAlpha</li>
<li>Bevel_highlightColor</li>
<li>Bevel_quality</li>
<li>Bevel_shadowAlpha</li>
<li>Bevel_shadowColor</li>
<li>Bevel_strength</li>
<li>Blur_blurX</li>
<li>Blur_blurY</li>
<li>Blur_quality</li>
<li>brightness</li>
<li>color</li>
<li>contrast</li>
<li>DropShadow_alpha</li>
<li>DropShadow_angle</li>
<li>DropShadow_blurX</li>
<li>DropShadow_blurY</li>
<li>DropShadow_color</li>
<li>DropShadow_distance</li>
<li>DropShadow_quality</li>
<li>DropShadow_strength</li>
<li>Glow_alpha</li>
<li>Glow_blurX</li>
<li>Glow_blurY</li>
<li>Glow_color</li>
<li>Glow_quality</li>
<li>Glow_strength</li>
<li>height</li>
<li>hue</li>
<li>pan</li>
<li>rotation</li>
<li>rotationX (PV3D)</li>
<li>rotationY (PV3D)</li>
<li>rotationZ (PV3D)</li>
<li>saturation</li>
<li>scaleX</li>
<li>scaleY</li>
<li>scaleZ (PV3D)</li>
<li>text</li>
<li>tint</li>
<li>volume</li>
<li>width</li>
<li>x</li>
<li>y</li>
<li>z (PV3D)</li>
</ul>
<p><strong>What's new in this version:</strong></p>
<ul>
<li>Image/Bitmap/ColorMatrix property refactoring such as contrast, brightness, etc. Color tweening has been added as well. Worked out some bugs and streamlined.</li>
<li>Fuse style sequencing.</li>
<li>An autostart parameter.</li>
<li>Updated reverse and cycle structure.</li>
<li>Started porting over the previous textfield tweening functionality.</li>
<li>Tweening of multiple targets as Arrays</li>
<li>Papervision3D tweening functions</li>
<li>start_ values for non image/color matrix tweening. (This will be addded soon!)</li>
</ul>
<p><strong>Autostart:</strong><br />
Autostart has been deprecated from version 30. In version 31, go calls() and sequence() methods start automatically. To setup a sequence that doesn't start, use the parseSequence() method.</p>
<p><strong>LinearGoRepeater:</strong><br />
The static go() method and the constructor have been updated to reflect the changes in version 0.4.8. An object has been added that provides parameters for cycling back and forth. You can either input a LinearGoRepeater instance, or you can use a generic object.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc,  tweenObj<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#93;</span>, seconds, <span style="color: #cc66cc;">0</span>, easing, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #66cc66;">&#123;</span>cycles:<span style="color: #cc66cc;">2</span>, <span style="color: #0066CC;">reverse</span>:<span style="color: #000000; font-weight: bold;">true</span>, easing:easing<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>Fuse style Sequence Tweening:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// This sequence will start automatically.</span>
<span style="color: #000000; font-weight: bold;">var</span> seq1:SequenceCA = HydroTween.<span style="color: #006600;">sequence</span><span style="color: #66cc66;">&#40;</span>
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">320</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">8</span>, Blur_blurY:<span style="color: #cc66cc;">8</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, <span style="color: #0066CC;">color</span>:0x0000FF, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">0</span>, Blur_blurY:<span style="color: #cc66cc;">0</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">400</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, rotation:<span style="color: #cc66cc;">270</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// This sequence will NOT start automatically. Allows you to create sequences and store them</span>
<span style="color: #000000; font-weight: bold;">var</span> seq2:SequenceCA = HydroTween.<span style="color: #006600;">parseSequence</span><span style="color: #66cc66;">&#40;</span>
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">320</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">8</span>, Blur_blurY:<span style="color: #cc66cc;">8</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, <span style="color: #0066CC;">color</span>:0x0000FF, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, Blur_blurX:<span style="color: #cc66cc;">0</span>, Blur_blurY:<span style="color: #cc66cc;">0</span>, seconds:<span style="color: #cc66cc;">5</span>, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, x:<span style="color: #cc66cc;">400</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">target</span>:fusebox, rotation:<span style="color: #cc66cc;">270</span>, seconds:.5, easing:Quadratic.<span style="color: #006600;">easeInOut</span><span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#41;</span>;
seq2.<span style="color: #0066CC;">start</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<hr />
<h3>Tweening Examples:</h3>
<hr />
<p><strong>F.Y.I.</strong> The flash interface/example above will copy the code to the clipboard.</p>
<p><strong>General:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>x:<span style="color: #cc66cc;">400</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>Filter:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>Glow_color:0x0000FF, Glow_blurX:<span style="color: #cc66cc;">8</span>, Glow_blurY:<span style="color: #cc66cc;">8</span>, Glow_strength:<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>Image/Bitmap/ColorMatrix:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Brightness</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>brightness:<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Contrast</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>contrast:<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Hue</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>hue:<span style="color: #cc66cc;">45</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Saturation</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>saturation:-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Tint</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span>tint:0x00FF00<span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Color</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">color</span>:0xFF0000<span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Color Reset (This will tween back to it's original value</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>mc, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">color</span>:-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Matrix tweening (for array values such as sepia, etc) should make a return in the next update as well as a tint percentage value.</p>
<p><strong>Sound:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Volume</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>soundchannel, <span style="color: #66cc66;">&#123;</span>volume:.1<span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Contrast</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>soundchannel, <span style="color: #66cc66;">&#123;</span>pan:-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Sound tweening takes the SoundChannel instance as a target.</p>
<p><strong>Text:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">textfield</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">text</span>:<span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>This simply tweens the number from 0 to whatever param is specified and outputs to a textfield. I hope to expand on the functionality of this soon.</p>
<p><strong>Using Callbacks and Updaters:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Complete Callback</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">textfield</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">text</span>:<span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span>, onCompleteHandler<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Update Callback</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">textfield</span>, <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">text</span>:<span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span>, <span style="color: #000000; font-weight: bold;">null</span>, onUpdateHandler<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><strong>Papervision3D Tweening:</strong></p>
<p>I have added a convenient function for setting up your renderer for HydroTween. This is called once before you call any tweens and runs the renderer during any tween.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Call once to setup a 3D tweens renderer</span>
HydroTween.<span style="color: #006600;">init3D</span><span style="color: #66cc66;">&#40;</span>renderer, scene, <span style="color: #0066CC;">camera</span>, viewport<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">// Simple Papervision3D Tween</span>
HydroTween.<span style="color: #006600;">go</span><span style="color: #66cc66;">&#40;</span>plane, <span style="color: #66cc66;">&#123;</span>rotationX:<span style="color: #cc66cc;">100</span>, z:<span style="color: #cc66cc;">500</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0</span>, Elastic.<span style="color: #006600;">easeOut</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Also be sure to check out <a href="http://www.rockonflash.com/blog/?p=116" target="_blank">John Grden's</a> kickass Go3D parser.</p>
<hr />
<p><strong>Roadmap and upcoming updates:</strong></p>
<ul>
<li>Text tweening to support prefix and suffix String values</li>
<li>Even more modular format for adding tweenable properties</li>
<li>Drawning and spline/bezier tweening/Catmull Rom/etc</li>
<li>Continuing with speed enhancements</li>
</ul>
<hr />
<h3>The Making of HydroTween</h3>
<hr />
<p>For those of you interested in setting up your own tweening parser, hopefully this section will offer some insight. Getting these updates was a bit of a challenge and I learned quite a bit. Because of this, I think my ultimate vision for HydroTween has changed a bit. With the flexibility Go offers, the task of how to manage tweens and properties falls in the hands of the Go practitioner. The efficiency of a tweening engine really boils down to the simplicity of it's core and the reading and routing of updating property values. How this is achieved can explain the large number of different tweening systems out there. My hope is to eventually set up HydroTween to extend the open foundation of the Go system to it's tweenable properties making them more modular and easy to tweek. Let's forget about how the Go core engine works for a minute and look at the bare bones processes invloved in tweening.</p>
<ul>
<li>First we need some way to parse a syntax of our choosing.</li>
<li>We need to keep track of where/what the end result of our tween will be.</li>
<li>We need to figure out the starting value of the tween.</li>
<li>We need to figure out the difference of the starting and ending value.</li>
<li>We need to update the values of that difference over a period of time.</li>
<li>We need to route the updated values to the tweens target based on the type of property that's being tweened.</li>
</ul>
<p>This is a very general idea of what's going on here. Now some of the above has been taken out of the equation and/or made easier to accomplish. The parsing is being left up to us, along with how we store and route the updating property values. We have a place to figure out the starting point as well as where to update the data. The trick is how to do it.</p>
<p>I've found that most tweenable properties fall into a few categories:</p>
<p>Some are direct properties of an object, such as the x value of a Sprite.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Normal syntax:</span>
sprite.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">1</span>;
<span style="color: #808080; font-style: italic;">// &quot;Tweenable&quot; syntax:</span>
sprite<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;x&quot;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #cc66cc;">1</span>;</pre></div></div>

<p>Some are done through object's filters, such as BlurFilter and DropShadow.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Normal syntax:</span>
<span style="color: #000000; font-weight: bold;">var</span> gf:GlowFilter = <span style="color: #000000; font-weight: bold;">new</span> GlowFilter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
gf.<span style="color: #0066CC;">color</span> = 0xFF0000;
box.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span>gf<span style="color: #66cc66;">&#93;</span>;
<span style="color: #808080; font-style: italic;">// &quot;Tweenable&quot; syntax:</span>
box.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #000000; font-weight: bold;">new</span> GlowFilter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">var</span> f:<span style="color: #0066CC;">Array</span> = box.<span style="color: #006600;">filters</span>;
f<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;color&quot;</span><span style="color: #66cc66;">&#93;</span> = 0x0000FF;
box.<span style="color: #006600;">filters</span> = f;</pre></div></div>

<p>Some are done through a transform property, or a combination of transform properties, such as volume or some color changing.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// Normal syntax:</span>
<span style="color: #000000; font-weight: bold;">var</span> tf:<span style="color: #66cc66;">*</span> = targ.<span style="color: #006600;">soundTransform</span>;
tf.<span style="color: #006600;">volume</span> = val;
targ.<span style="color: #006600;">soundTransform</span> = tf;
<span style="color: #808080; font-style: italic;">// &quot;Tweenable&quot; syntax:</span>
<span style="color: #000000; font-weight: bold;">var</span> tf:<span style="color: #66cc66;">*</span> = targ<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;soundTransform&quot;</span><span style="color: #66cc66;">&#93;</span>;
tf<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;volume&quot;</span><span style="color: #66cc66;">&#93;</span> = val;
targ<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;soundTransform&quot;</span><span style="color: #66cc66;">&#93;</span> = tf;</pre></div></div>

<p>The above examples are straight forward, but they point out the process of parsing. We are using a String reference to the Objects property which allows us to match it up in our property list. This is where we define our syntax and essentially becomes our "key". Every key in our parser must be unique so we can match up a respective property. In the case of blurX, we have to specify that it is either the BlurFilter, GlowFilter, etc. So Blur_blurX is added to a key/property list which matches that property with the functions needed to update the BlurFilter and target in the Objects filter Array.</p>
<p>Some use a combination of Filter and Matrix math such as contrast, color, hue. Some use value pairs, such as drawing. The rest I have found use either a single or double value, along with some constants such as spline animation, text, etc. You can refer to the source for the more complicated examples as they require a couple extra steps. Just to give you the general idea. With ColorMatrix we are tweening an entire array of values. What HydroTween does is depending on the property settings, an "adjustment" function is called. This changes the end values for the array, and the write function updates the entire array from point A to B. Since an Object can have multiple ColorMatrix adjustments made to it, we need to call these first before running the tween. Thanks again to Grant Skinner for letting me import and tweek his ColorMatrix class.</p>
<p>All of these items are easy to tween in their own right, but when you combine them all together, that's when things get tricky. I've organized my functions in a read, write, and for some an adjust and path category. "Read" simply gets the objects existing state, "write" updates the objects property value, "adjust" modifies a property prior to writing it (such as ColorMatrix transformations of a ColorMatrix Array before tweening it), and "path" is a param that accesses an objects property.</p>
<p>My goal now is to continue to make this more efficient and modular in a way that the average user can create a read function, a write function, and register it to the property list along with any additional params it might need. It's sorta there, but there is much work to be done:)</p>
<p>I'm still no tweening Jedi and this is an ongoing work in progress. Any suggestions, complaints, and contributions are welcome.</p>
<p>Also I will be at Flashbelt. Hit me up if you are interested in meeting up. Looking forward to Moses' presentation!</p>
<hr />
<a href='/wp-content/HydroTween_rev32_049.zip' title='HydroTween rev32'>HydroTween rev32 Source and Example</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hydrotik.com/2008/05/13/go-048jg1-hydrotween-rev30-guide-source-code/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
	</channel>
</rss>
