Поворот изображения непрерывно - PullRequest
0 голосов
/ 10 июля 2011

Я хочу непрерывно вращать изображение при загрузке страницы. Код прекрасно работает для 1 поворота при загрузке страницы, но для постоянного достижения того же эффекта я включил оператор .play() в бесконечный цикл while, как показано ниже. Но это приводит к зависанию страницы и ничего не появляется.

while (i == 1)
{
    if (rotEff.isPlaying != true)
    {
        rotEff.play();
    }
}

Любые указатели о том, как добиться этого эффекта, будут очень полезны

Ответы [ 3 ]

5 голосов
/ 10 июля 2011

Попробуйте установить для свойства repeatCount объекта Effect значение 0, чтобы оно повторялось бесконечно:

<fx:Declarations>
    <s:Rotate id="rotate" target="{image}" angleBy="360" duration="1000" repeatCount="0" autoCenterTransform="true"></s:Rotate>
</fx:Declarations>

[UPDATE]

В ответ на комментарий Сэнди:

спасибо, таурай ... установка repeatCount решила проблему .. Где бы то ни было немного задержка перехода от одного полного 360 раунда к еще один раунд ... возможно ли избавиться от этого тоже? ..

Установите для свойства easer значение null, например:

<fx:Declarations>
    <s:Rotate id="rotate" target="{image}" angleBy="360" duration="1000" repeatCount="0" autoCenterTransform="true" easer="{null}"></s:Rotate>
</fx:Declarations>
0 голосов
/ 11 июля 2011

Если это приложение Flex, я бы порекомендовал вам использовать Timer объект.

0 голосов
/ 10 июля 2011

Очень просто.Просто настройте прослушиватель входного кадра для работы при загрузке (не используйте анимацию по временной шкале).

obj.addEventListener(Event.ENTER_FRAME, doRotate);

function doRotate(e:Event):void{
    obj.rotation += 1; //in whatever direction / orientation / increment you wish
}

после завершения загрузки просто удалите прослушиватель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...