Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex 4,旋转过渡,使用最短路径?_Apache Flex_Flex4_Transition - Fatal编程技术网

Apache flex Flex 4,旋转过渡,使用最短路径?

Apache flex Flex 4,旋转过渡,使用最短路径?,apache-flex,flex4,transition,Apache Flex,Flex4,Transition,我在Flex4中有这个对象 <s:Group id="shanks" width="243" height="243" x="243" y="243" rotation.Classic="0" rotation.Centro="72" rotation.Lace="144" rotation.Lido="216" rota

我在Flex4中有这个对象

<s:Group 
        id="shanks" 
        width="243" 
        height="243" 
        x="243" 
        y="243"
        rotation.Classic="0"
        rotation.Centro="72"
        rotation.Lace="144"
        rotation.Lido="216"
        rotation.Euro="288"
        clipAndEnableScrolling="false">
        <mx:Image source="{circleUnder}" x="-243" y="-243"/>
    </s:Group>

它是一个被分成5等分的圆,每等分72度。因此,您可以看到的每个状态都会增加旋转72度

当状态改变时,我有一个旋转的转换,如下所示:

<s:transitions>
        <s:Transition>
            <mx:AnimateProperty target="{shanks}" property="rotation"/>
        </s:Transition>
    </s:transitions>

因为这是一个圆,所以你实际上可以顺时针或逆时针旋转,以达到状态的正确角度。通常,旋转过渡使用较低的值。例如,从Classic到Centro(0到72),它是CW。但情况并非总是如此。从蕾丝到丽都(144到216),它是逆时针的。这不是期望的感觉,因为它需要较少的旋转圆才能达到期望的程度,所以它将更好地转换为CW

我想要的是圆在需要最少旋转量的方向上旋转,以达到它的目的度


我希望这是有道理的。有没有办法设置转换来实现这一点?

我认为您不应该使用mx:AnimateProperty。尝试新的火花旋转类在您的过渡。您可能还希望将autoTransformCenter设置为true,以告知整体变换效果,操作将围绕对象的中心进行