2010-08-10 4 views
0

У меня есть TextField и Sprite и на y = -20;, и они находятся в правильном положении.Почему существует разница в том, что я делаю, когда я tween двух объектов?

Затем я делаю эту анимацию.

Tweener.addTween(t, {y: 20, time:0.5, transition:"linear"}); 
Tweener.addTween(noteBar, {y: 20, time:0.5, onComplete:Hold, transition:"linear"}); 

(т является TextField и noteBar является Sprite)

Что происходит, когда я делаю это, что Sprite идет у = 0; но TextField переходит в y = 20;

Он работает правильно, если у меня есть TextField у в точке 0 и у Sprite на 20.

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

Tweener.addTween(t, {y: -20, time:0.5, transition:"linear"}); 
Tweener.addTween(noteBar, {y: 0, time:0.5, transition:"linear"}); 

Потому что, если я позволю Sprite поехать -20, тогда он закончится при y = -40;

Почему это так?

+0

Являются ли эти элементы вручную размещены на сцене или созданы с помощью ActionScript? Связаны ли они с каким-либо другим родительским объектом? – Aaron

ответ

1

Когда вы говорите, что «оба находятся на y = -20», используете ли вы палитру информации во Flash, чтобы определить это?

Я спрашиваю, потому что информационная палитра имеет два режима отображения x, y: Регистрация и преобразование. Это переключается, щелкнув значок маленькой точки регистрации слева от поля X в палитре информации.

Проблема в том, что отображаемый x, y в режиме преобразования будет CENTER текстового поля, но на самом деле x, y текстового поля является верхним левым.

Итак, короткий ответ - убедиться, что информационная палитра находится в режиме регистрации (значок с перекрестием), затем поместите текстовое поле на -20.

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

Конечно, если вы делая это все в коде, не позиционируя элементы во Flash, мое решение является спорным.

-Gabriel

+0

Я создаю все элементы в коде. Поэтому для текста я определяю t.y = -20; и для спрайта я делаю то же самое. –

 Смежные вопросы

  • Нет связанных вопросов^_^