Пустое место после анимации - PullRequest
0 голосов
/ 19 августа 2011

это может показаться немного расплывчатым / запутанным, но я надеюсь, что вы можете его получить.

Я заполняю массивы из XML.В этих массивах есть динамические textFields внутри них, и эти textFields являются дочерними элементами мувиклипа.

Я скручиваю этот мувиклип, поэтому анимируем массив textFields на сцене один за другим.Есть два источника XML, один из реального сайта, а другой из XML, хранящихся в жестком диске.Сначала я заполняю массивы textFields, а затем анимирую мувиклип.Я делаю это для первого, затем оживляю, повторяю для второго, оживляю, снова для первого, оживляю и так далее.

myTween = new Tween(mc,"x",None.easeNone,sizeOfStage,0 - mc.width,mcSpeedAuto,true);

моя анимация заканчивается на 0 - mc.width, проблема в том, что если я сначала прокручиваю «больший» XML, когда следующий, меньший, становится промежуточным, появляется множество пустого пространства, прежде чем он снова превращается в большой («пробел»?).

myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish);

onFinish Я очищаю все массивы (в противном случае анимация второго все равно будет иметь информацию о первом, например: 1-й имеет 25 полей, второй имеет10, 1 показывает 25 полей, 2 показывает 10 и 15, которые были оставлены с 1-го поля) и вызывает твин на 2-м поле.Я думал, что, сделав это, я бы тоже очистил весь этот пробел, по-видимому, нет.Я думаю, что mc.width просто сохраняет «большее» значение и всегда с ним твинирует, дольше заканчивая во 2-м случае.Я пытался установить mc.width как сумму ширины текстового поля каждый раз, когда я заполняю массивы, но это тоже не сработало, поэтому я не совсем уверен, в чем проблема: /

Этослишком запутанно?Есть идеи?

Заранее спасибо.

1 Ответ

1 голос
/ 19 августа 2011

Примечание. Использование по умолчанию as3 Tween класса bunk .Я говорю, что, поскольку часто GC перед тем, как собирает анимацию, она завершает анимацию (звучит так, как будто отсюда происходит ваше "белое пространство").

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

Хорошие сменные твинеры:

Последние два основаны на одном и том же движке.Говорят о том, что Tweener находится на низком уровне производительности, но я предпочитаю его за оригинальность и простоту использования. Выберите мудро!

** edit - пример использования Caurina Tweener **

import caurina.transitions.Tweener;

/* tweens "myClip" from it's current alpha to alpha=1.0 in 250ms (1/4
second) using the "linear" functionality */ Tweener.addTween(myClip,
{alpha:1.0, time:0.25, transition:"linear"});

/* tweens "otherClip" from it's current x position to x=100 in 500ms
(1/2 second) using the "easeOutCirc" functionality */
Tweener.addTween(otherClip, {x:100, time:0.5,
transition:"easeOutCirc"});

Кроме того, вот список transition типы для tweener (нажмите на анимацию, чтобы увидеть воспроизведение анимации)

...