Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Установка начальной позиции без изменения свойств спрайта, при вызове твина (Tweener) (http://www.flasher.ru/forum/showthread.php?t=150325)

Denis_ex 09.02.2011 21:26

Установка начальной позиции без изменения свойств спрайта, при вызове твина (Tweener)
 
Перехожу с флеш твиннера на движок Tweener (caurina), тажке пробую TweenMax, возник вопрос касающейся обоих движков.

Есть спрайт rect, который имеет координаты 100,100. Мне нужно с помощью твинера сместить спрайт из координтаты 200,100 до 400,100, т.е. по оси X.

Как мне задать начальную координату x = 200?

Код AS3:

//можно так:  
rect.x= 200;
//и вызываем:
Tweener.addTween( rect, { x:400, y:100, time:1, transition:"linear" } );

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

У обычного флеш твина есть и begin и end, а тут кажется только end, а begin берется из свойств спрайта.

Код AS3:

function start(param:Object):void
{
      //здесь я не могу обращатся к свойству rect.x, чтобы инициализировать его начальное положение для твина равное 200.
      Tweener.addTween( rect, param );
}


Hauts 09.02.2011 23:46

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

Denis_ex 10.02.2011 00:00

)), интересный вариант, но больше похож на хак.

RandomUser 10.02.2011 00:21

Можно еще написать свой плагин для TweenLite-a :)

GemiBillyBob 10.02.2011 00:37

TweenMax.fromTo() ?

Denis_ex 11.02.2011 13:11

Цитата:

Сообщение от GemiBillyBob (Сообщение 972192)

Спасибо за функцию, с TweenMax только сегодня буду разбираться, а вот по Tweener нашел единственный путь инициализации начальных свойств, напр: onStart:function() { this.alpha = 0; }

Кстати, читал разл. комментарии, говорят что Tweener надежный, TweenLite - ингда выдает баги, по TweenMax вроде все норм. Расскажите были ли у кого проблемы с TweenMax (типа замирание твина, не доходящего до конца или не стой позиции, повис браузера при 10-200 твинах и пр.)?

Dukobpa3 15.02.2011 16:41

Вложений: 1
Код AS3:

//можно так:  
rect.x= 200;
//и вызываем:
Tweener.addTween( rect, { x:400, y:100, time:1, transition:"linear" } );

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

Вложение 26001

Вот пример, далеко не то что вам надо но думаю суть ясна. У меня там картинки меняются, у вас будут окна. Всё что мне надо - это помнить в каждый момент времени какая картинка сейчас выпрыгивает из-за экрана, при смене картинок я удаляю предыдущую, и добавляю следующую. А добавляю в том месте где мне нужно. Собственно никакого бубна.

Ну или давайте более обширное описание проблемы чтоли. Ну или пользуйте твинМакс с его onStart();

nOobCrafter 15.02.2011 18:09

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


Часовой пояс GMT +4, время: 13:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.