<?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>Flex Examples &#187; FxRotate3D</title>
	<atom:link href="http://blog.flexexamples.com/category/spark/fxrotate3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flexexamples.com</link>
	<description>Just a bunch of Adobe Flex Examples</description>
	<lastBuildDate>Wed, 26 Jan 2011 18:09:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Incrementally 3D rotating objects using the Spark Rotate3D effect in Flex 4</title>
		<link>http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/</link>
		<comments>http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 06:48:28 +0000</pubDate>
		<dc:creator>Peter deHaan</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[FxRotate3D]]></category>
		<category><![CDATA[Gumbo]]></category>
		<category><![CDATA[isPlaying]]></category>
		<category><![CDATA[needsSWF]]></category>
		<category><![CDATA[yBy]]></category>

		<guid isPermaLink="false">http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/</guid>
		<description><![CDATA[<p>In a previous example, <a href="http://blog.flexexamples.com/2008/10/13/3d-rotating-objects-in-flex-using-the-fxrotate3d-effect-and-flash-player-10/">&#8220;3D Rotating objects in Flex 4 using the Spark Rotate3D effect and Flash Player 10&#8243;</a>, we saw how you could rotate objects in 3D space from 0 to 360 degrees along the X, Y, and Z axis using the Spark Rotate3D effect in the Flex 4 SDK.</p> <p>The following example [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous example, <a href="http://blog.flexexamples.com/2008/10/13/3d-rotating-objects-in-flex-using-the-fxrotate3d-effect-and-flash-player-10/">&#8220;3D Rotating objects in Flex 4 using the Spark Rotate3D effect and Flash Player 10&#8243;</a>, we saw how you could rotate objects in 3D space from 0 to 360 degrees along the X, Y, and Z axis using the Spark Rotate3D effect in the Flex 4 SDK.</p>
<p>The following example shows how you can rotate an image relative to its current rotation by setting the <code>yBy</code> property on the Spark Rotate3D instance.</p>
<p>Full code after the jump.</p>
<p><span id="more-842"></span></p>
<p class="alert">The following example(s) require Flash Player 10 and the Adobe Flex 4 SDK. To download the Adobe Flash Builder 4 trial, see <a href="http://bit.ly/crThlI">http://www.adobe.com/products/flex/</a>. To download the latest nightly build of the Flex 4 SDK, see <a href="http://bit.ly/Flex4SDK">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4</a>.<br/><strong>For more information on getting started with Flex 4 and Flash Builder 4, see the official <a href="http://bit.ly/dCkecm">Adobe Flex Team blog</a>.</strong></p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #808080; font-style: italic;">&lt;!-- http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/ --&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Application</span> name=<span style="color: #ff0000;">&quot;Spark_Rotate3D_yBy_test&quot;</span></span>
<span style="color: #000000;">        xmlns:fx=<span style="color: #ff0000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span></span>
<span style="color: #000000;">        xmlns:s=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/spark&quot;</span></span>
<span style="color: #000000;">        xmlns:mx=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/halo&quot;</span><span style="color: #7400FF;">&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:layout</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:BasicLayout</span> <span style="color: #7400FF;">/&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:layout</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Script</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;">&lt;!<span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span></span>
<span style="color: #000000;">            import mx.events.FlexEvent;</span>
<span style="color: #000000;">            import spark.effects.Animate;</span>
&nbsp;
<span style="color: #000000;">            private function playEffect<span style="color: #66cc66;">&#40;</span>target:Animate, angle:Number<span style="color: #66cc66;">&#41;</span>:void <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                if <span style="color: #66cc66;">&#40;</span>!target.isPlaying<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                    rotY += angle;</span>
<span style="color: #000000;">                    target.play<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #000000;">            <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #000000;">        <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #7400FF;">&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Script</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Declarations</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Number</span> id=<span style="color: #ff0000;">&quot;rotY&quot;</span><span style="color: #7400FF;">&gt;</span></span>0<span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Number</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Rotate</span>3D id=<span style="color: #ff0000;">&quot;fxRotate3DNeg&quot;</span> target=<span style="color: #ff0000;">&quot;{image}&quot;</span> angleYTo=<span style="color: #ff0000;">&quot;{rotY}&quot;</span> autoCenterTransform=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Rotate</span>3D id=<span style="color: #ff0000;">&quot;fxRotate3DPos&quot;</span> target=<span style="color: #ff0000;">&quot;{image}&quot;</span> angleYTo=<span style="color: #ff0000;">&quot;{rotY}&quot;</span> autoCenterTransform=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Declarations</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:VGroup</span> id=<span style="color: #ff0000;">&quot;vGroup&quot;</span> left=<span style="color: #ff0000;">&quot;10&quot;</span> top=<span style="color: #ff0000;">&quot;10&quot;</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Button</span> id=<span style="color: #ff0000;">&quot;fxButtonNeg&quot;</span></span>
<span style="color: #000000;">                label=<span style="color: #ff0000;">&quot;Rotate3D (angleYTo - 30)&quot;</span></span>
<span style="color: #000000;">                autoRepeat=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #000000;">                repeatDelay=<span style="color: #ff0000;">&quot;500&quot;</span></span>
<span style="color: #000000;">                repeatInterval=<span style="color: #ff0000;">&quot;100&quot;</span></span>
<span style="color: #000000;">                buttonDown=<span style="color: #ff0000;">&quot;playEffect(fxRotate3DNeg, -30);&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Button</span> id=<span style="color: #ff0000;">&quot;fxButtonPos&quot;</span></span>
<span style="color: #000000;">                label=<span style="color: #ff0000;">&quot;Rotate3D (angleYTo + 30)&quot;</span></span>
<span style="color: #000000;">                autoRepeat=<span style="color: #ff0000;">&quot;true&quot;</span></span>
<span style="color: #000000;">                repeatDelay=<span style="color: #ff0000;">&quot;500&quot;</span></span>
<span style="color: #000000;">                repeatInterval=<span style="color: #ff0000;">&quot;100&quot;</span></span>
<span style="color: #000000;">                buttonDown=<span style="color: #ff0000;">&quot;playEffect(fxRotate3DNeg, 30);&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:VGroup</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:BitmapImage</span> id=<span style="color: #ff0000;">&quot;image&quot;</span></span>
<span style="color: #000000;">            source=<span style="color: #ff0000;">&quot;@Embed('assets/fx_appicon-tn.gif')&quot;</span></span>
<span style="color: #000000;">            horizontalCenter=<span style="color: #ff0000;">&quot;0&quot;</span></span>
<span style="color: #000000;">            verticalCenter=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p class="information"><a href="http://blog.flexexamples.com/wp-content/uploads/FxRotate3D_yBy_test/bin/srcview/index.html">View source</a> is enabled in the following example.</p>
<p><iframe src="http://blog.flexexamples.com/wp-content/uploads/FxRotate3D_yBy_test/bin/main.html" width="100%" height="300"></iframe></p>
<p><!--<br />
Due to popular demand, here is the "same" example in a more ActionScript friendly format:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;?xml version=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;"><span style="color: #7400FF;">&lt;s:Application</span> name=<span style="color: #ff0000;">&quot;Spark_Rotate3D_yBy_test&quot;</span></span>
<span style="color: #000000;">        xmlns:fx=<span style="color: #ff0000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span></span>
<span style="color: #000000;">        xmlns:s=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/spark&quot;</span></span>
<span style="color: #000000;">        xmlns:mx=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/halo&quot;</span></span>
<span style="color: #000000;">        initialize=<span style="color: #ff0000;">&quot;init();&quot;</span><span style="color: #7400FF;">&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:layout</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;"><span style="color: #7400FF;">&lt;s:BasicLayout</span> <span style="color: #7400FF;">/&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:layout</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;fx:Script</span><span style="color: #7400FF;">&gt;</span></span>
        <span style="color: #000000;">&lt;!<span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span></span>
<span style="color: #000000;">            import spark.primitives.BitmapImage;</span>
<span style="color: #000000;">            import spark.components.Button;</span>
<span style="color: #000000;">            import spark.components.VGroup;</span>
<span style="color: #000000;">            import spark.effects.Animate;</span>
<span style="color: #000000;">            import spark.effects.Rotate3D;</span>
<span style="color: #000000;">            import mx.events.FlexEvent;</span>
&nbsp;
<span style="color: #000000;">            <span style="color: #66cc66;">&#91;</span>Embed<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;assets/fx_appicon-tn.gif&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span></span>
<span style="color: #000000;">            private const LOGO:Class;</span>
&nbsp;
<span style="color: #000000;">            private var fxRotate3DNeg:Rotate3D;</span>
<span style="color: #000000;">            private var fxRotate3DPos:Rotate3D;</span>
<span style="color: #000000;">            private var fxButtonNeg:Button;</span>
<span style="color: #000000;">            private var fxButtonPos:Button;</span>
<span style="color: #000000;">            private var image:BitmapImage;</span>
&nbsp;
<span style="color: #000000;">            private function init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:void <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                fxButtonNeg = new Button<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonNeg.label=<span style="color: #ff0000;">&quot;Rotate3D yBy -= 15&quot;</span>;</span>
<span style="color: #000000;">                fxButtonNeg.autoRepeat = true;</span>
<span style="color: #000000;">                fxButtonNeg.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;repeatDelay&quot;</span>, <span style="color: #cc66cc;">500</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonNeg.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;repeatInterval&quot;</span>, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonNeg.addEventListener<span style="color: #66cc66;">&#40;</span>FlexEvent.BUTTON_DOWN,</span>
<span style="color: #000000;">                            fxButtonNeg_buttonDown<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #000000;">                fxButtonPos = new Button<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonPos.label=<span style="color: #ff0000;">&quot;Rotate3D yBy += 15&quot;</span>;</span>
<span style="color: #000000;">                fxButtonPos.autoRepeat = true;</span>
<span style="color: #000000;">                fxButtonPos.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;repeatDelay&quot;</span>, <span style="color: #cc66cc;">500</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonPos.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;repeatInterval&quot;</span>, <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxButtonPos.addEventListener<span style="color: #66cc66;">&#40;</span>FlexEvent.BUTTON_DOWN,</span>
<span style="color: #000000;">                            fxButtonPos_buttonDown<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #000000;">                var vGroup:VGroup = new VGroup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                vGroup.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;left&quot;</span>, <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                vGroup.setStyle<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;top&quot;</span>, <span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                vGroup.addElement<span style="color: #66cc66;">&#40;</span>fxButtonNeg<span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                vGroup.addElement<span style="color: #66cc66;">&#40;</span>fxButtonPos<span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                addElement<span style="color: #66cc66;">&#40;</span>vGroup<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #000000;">                image = new BitmapImage<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                image.source = LOGO;</span>
<span style="color: #000000;">                image.horizontalCenter = <span style="color: #cc66cc;">0</span>;</span>
<span style="color: #000000;">                image.verticalCenter = <span style="color: #cc66cc;">0</span>;</span>
<span style="color: #000000;">                addElement<span style="color: #66cc66;">&#40;</span>image<span style="color: #66cc66;">&#41;</span>;</span>
&nbsp;
<span style="color: #000000;">                fxRotate3DNeg = new Rotate3D<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxRotate3DNeg.target = image;</span>
<span style="color: #000000;">                fxRotate3DNeg.yBy = -<span style="color: #cc66cc;">30</span>;</span>
&nbsp;
<span style="color: #000000;">                fxRotate3DPos = new Rotate3D<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                fxRotate3DPos.target = image;</span>
<span style="color: #000000;">                fxRotate3DPos.yBy = <span style="color: #cc66cc;">30</span>;</span>
<span style="color: #000000;">            <span style="color: #66cc66;">&#125;</span></span>
&nbsp;
<span style="color: #000000;">            private function fxButtonNeg_buttonDown<span style="color: #66cc66;">&#40;</span>evt:FlexEvent<span style="color: #66cc66;">&#41;</span>:void<span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                playEffect<span style="color: #66cc66;">&#40;</span>fxRotate3DNeg<span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">            <span style="color: #66cc66;">&#125;</span></span>
&nbsp;
<span style="color: #000000;">            private function fxButtonPos_buttonDown<span style="color: #66cc66;">&#40;</span>evt:FlexEvent<span style="color: #66cc66;">&#41;</span>:void<span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                playEffect<span style="color: #66cc66;">&#40;</span>fxRotate3DPos<span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">            <span style="color: #66cc66;">&#125;</span></span>
&nbsp;
<span style="color: #000000;">            private function playEffect<span style="color: #66cc66;">&#40;</span>target:Animate<span style="color: #66cc66;">&#41;</span>:void <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                if <span style="color: #66cc66;">&#40;</span>!target.isPlaying<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">                    target.play<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</span>
<span style="color: #000000;">                <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #000000;">            <span style="color: #66cc66;">&#125;</span></span>
<span style="color: #000000;">        <span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #7400FF;">&gt;</span></span>
    <span style="color: #000000;"><span style="color: #7400FF;">&lt;/fx:Script</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
<span style="color: #000000;"><span style="color: #7400FF;">&lt;/s:Application</span><span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>&#8211;><br />
<p class="alert">This entry is based on a beta version of the Flex 4 SDK and therefore is very likely to change as development of the Flex SDK continues. The API can (and will) change causing examples to possibly not compile in newer versions of the Flex 4 SDK.</p></p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Incrementally 3D rotating objects using the Spark Rotate3D effect in Flex 4 on FlexExamples.com',url: 'http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/',contentID: 'post-842',code: 'Pete9667',suggestNotebook: 'FlexExamples',suggestTags: 'Gumbo,isPlaying,needsSWF,yBy',providerName: 'FlexExamples.com',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/article-clipper-remember.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.flexexamples.com/2008/10/25/incrementally-3d-rotating-objects-in-flex-using-the-fxrotate3d-in-flex/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

