Почему отрывистая анимация? - PullRequest
0 голосов
/ 17 декабря 2011

Почему это не работает гладко? Я попытался использовать маленькое изображение (шириной 500 пикселей), но это также отрывочная анимация

var loader:Loader = new Loader();
    loader.load(new URLRequest("http://cevek.ru/img0.gif"));
    // http://cevek.ru/img1.gif 500px width
    addChild(loader);

var img_x = 0;
stage.frameRate = 100;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event){ 
    img_x++;
    loader.x = -1*img_x;
}

Другой вариант

var loader:Loader = new Loader();
    loader.load(new URLRequest("http://cevek.ru/img3.gif"));
    addChild(loader);

var img_x = 0;
stage.frameRate = 25;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
function onEnterFrame(event:Event){ 
    img_x+=4;
    loader.x = -1*img_x;
    if (img_x > 100)
   img_x = -500;
}

1 Ответ

0 голосов
/ 17 декабря 2011

Вы используете изображение, размер которого слишком велик для Flash Player. Это не 500 пикселей, а 20000 пикселей в ширину! Если и это нужно уменьшить во время выполнения, то неудивительно, что анимация прерывистая ...

Вы должны уменьшить свою фотографию в Photoshop (или любой аналогичной программе) и использовать уменьшенную версию для анимации - все ваши проблемы исчезнут.

Если вам нужна полная ширина изображения для увеличения, отрежьте изображение на более мелкие части (я бы предложил ширину не более 100 пикселей) и установите все те, которые находятся за пределами видимой области, на visible=false;

EDIT

Кроме того, вы можете рассмотреть возможность использования прослушивателя событий для ожидания полной загрузки изображения, прежде чем запускать анимацию.

Больше РЕДАКТИРОВАТЬ

Используйте Tween или, еще лучше, используйте TweenLite .

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