0

我在 Flex 4 中有这个对象

<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。但情况并非总是如此。从 Lace 到 Lido(144 到 216),逆时针方向。这不是理想的感觉,它会更好地过渡到 CW,因为它需要更少的圆周旋转才能达到所需的程度。

我想要的是让圆圈沿需要最少旋转量才能达到其目标度数的方向旋转。

我希望这是有道理的。有没有办法设置过渡来做到这一点?

4

1 回答 1

1

我认为您不应该使用 mx:AnimateProperty。在过渡中尝试新的 spark Rotation 课程。您可能还希望将 autoTransformCenter 设置为 true,这会告诉整体变换效果,该操作将围绕对象的中心进行。

于 2010-07-09T16:58:30.867 回答