我有一些Flash Catalyst生成的代码,我需要它可调整大小&可旋转的。
目前,我不知道如何实现这一目标。
基本理念是:
下面的代码是我准备的演示应用程序结构的简化大纲,可以粘贴到您的ide中:
请查看 来源,看看你是否可以提供帮助 因为这是关键任务 为了我。 :/
<s:Group id="windmill" width="50" height="200">
<s:Group id="windmillBlades" resizeMode="scale" verticalCenter="0" horizontalCenter="0">
<s:Line xFrom="0" xTo="140" yFrom="0" yTo="140">
<s:stroke>
<s:SolidColorStroke color="0xBC311E" weight="16" />
</s:stroke>
</s:Line>
</s:Group>
</s:Group>
谢谢!
编辑:注意这是我的真实应用程序的抽象,我不是在建造一个风车模拟器。
答案 0 :(得分:1)
这有效:
<s:Group id="windmill" width="50" height="200" x="400" y="400">
<s:Group id="windmillBlades" resizeMode="scale" width="100%" height="100%">
<s:Line xFrom="0" xTo="140" yFrom="0" yTo="140">
<s:stroke>
<s:SolidColorStroke color="0xBC311E" weight="16" />
</s:stroke>
</s:Line>
</s:Group>
</s:Group>
<s:VGroup>
<s:HSlider id="scaler"
minimum=".1" maximum="2" snapInterval=".01"
valueCommit="{windmill.scaleX = windmill.scaleY = scaler.value}"/>
<s:HSlider id="rotator"
minimum="0" maximum="360" snapInterval="1"
valueCommit="{windmill.rotation = rotator.value}"/>
</s:VGroup>
我不确定制作一个完整风车的最佳方式(使用s:Line和所有,可能只是一个转发器?),但这是旋转风车的好方法。而不是旋转每一行(大量的计算),只需旋转整个组。如果windmillBladles
宽度和高度为100%,它们将自动与群组一起缩放。
如果你想让每个刀片围绕它们的中心单独旋转,那就更难了。幸运的是,ILayoutElement#transformAround
方法(UIComponent具有),允许您围绕任意中心旋转/缩放/变换。如果听起来更好,请尝试使用它。