изгиб вращая эллипс снизу, а не посередине - PullRequest
1 голос
/ 18 июня 2011

получил еще один маленький провлем с flex ... Я сделал эллипс и хочу динамически вращать его. сделал ползунок h :. который изменяет значение эллипса rotate = "". и он вращается нормально. но точка вращения находится в середине эллипса.

Я хочу это внизу (у) и в середине (х).

Есть некоторые аргументы transformY и transformX для эллипса, но они не имеют никакого эффекта?

моя функция

private function rotateRadius():void {
if(wind.selected) {

selected.radiusDisp.rotation = radiusRotate.value;
}else {

}

}

было бы здорово, если бы кто-нибудь дал мне подсказку

Ответы [ 2 ]

1 голос
/ 19 июня 2011

Это самый простой способ изменить способ вращения объекта.

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark">

<s:controlBarContent>
    <s:HSlider id="rotationSlider" minimum="0" maximum="360" />
</s:controlBarContent>


<s:Ellipse rotation="{rotationSlider.value}" transformX="100" transformY="50" width="200" height="100" x="100" y="100">
    <s:fill>
        <s:SolidColor color="red" />
    </s:fill>
</s:Ellipse>


<s:Ellipse rotation="{rotationSlider.value}" transformX="100" transformY="100" width="200" height="100" x="400" y="100">
    <s:fill>
        <s:SolidColor color="red" />
    </s:fill>
</s:Ellipse>

Если вы хотите, чтобы ваш эллипс качался на поверхности, вам нужно добавить немного тригонометрии для расчета точки регистрации.

НТН, FTQuest

0 голосов
/ 18 июня 2011

Есть несколько способов сделать это, вероятно, самый простой - это поместить ваш эллипс в другой экранный объект (чтобы точка, на которую вы хотите повернуть, находилась в центре нового экранного объекта).Это может быть проблемой с гибкой разметкой, хотя у вас теперь есть «больший» объект, чем ваш эллипс.

Другой вариант (правильный путь) - использовать объект преобразования, см.

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#transform

и

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/geom/Transform.html#matrix

...