![]() |
Работа с циклом for
Здравсвуйте.
Подскажите пожалуйста. Есть массив координат и есть функия, которая должна в цикле проходить по массиву и вызывать анимацию для каждой ячейки, но у мея почему то вызывается только последняя ячейка. Код AS3:
Подскажите пожалуйста |
Так не успевает выполнить первые три анимации. Создайте последовательность в цикле, а потом запускайте, но в ентерфрейме все это делаете, опять вряд ли успеет.
|
Тут энтерфрэйм не нужен и каждый следующий твин надо запускать по окончанию предыдущего, делать цепочку твинов.
|
Я не совсем понял. можно пример?
Добавлено через 2 минуты Цитата:
А в противном случае прийдется лепить 4 строки подряд одной анимации, или я ошибаюсь ? Можно пример? Добавлено через 20 минут Цитата:
|
нет под рукой TweenMax'а
есть http://code.google.com/p/eaze-tween/, но суть та же: Код AS3:
|
Цитата:
|
Почитайте про TimelineLite.append или TimelineMax.append http://www.greensock.com/as/docs/tween/ слева найдете.
|
упс, я извиняюсь, но и EazeTween, то что я написал через цикл что-то не совсем внятное дает
хотя вот так нормально все: Код AS3:
UPD: с "нанизыванием" твинов в цикле затык был в том, что следующий твин присоединялся не цепочке, а к исходному чтобы в цикле это запустить надо на каждой итерации сохранять ссылку на возвращаемую цепочку, т.е. Код AS3:
|
Цитата:
Добавлено через 49 секунд Цитата:
|
Ребят вы чего! Тут же i локальная переменная, как я понимаю в функции(кадре). В onLoop она попадёт в замыкание и при новом вызове onLoop сохранит своё старое значение. В начале цикла она не обнуляется. Причём если этот кадр(а это похоже кадр) вызывается несколько раз, то получим наростающее количество обработчиков ентерфрейма.
DarkKnight2009 Запомните, всегда, во всех циклах, обнуляйте счётчик: Код AS3:
|
>> Ребят вы чего!
да мы ничего, собственно, типа твины запускаем :) TweenMax не поддерживает возможности 'нанизать' твины в цепочку, как вариант можно их через delay запустить Код AS3:
сори: поспешил с выводами сгоряча, на самом деле поддрживает - через TimelineLite/TimelineMax Код AS3:
|
Можно наверное и без delay, если создавать экземпляр TweenMax'а, а не юзать статик... Наверное, не проверял, юзаю TimeLineLite, в таких случаях ( проще делается, без "for in"-ов), но думаю, что будет работать.
Добавлено через 7 минут Гы.. а еще есть метод TweenMax.allTo(). Туда тоже можно без "for in"-а массив охапкой пихать. |
Вложений: 1
Цитата:
Цитата:
Я все сделал, но подскажите, у меня что-то не то получается, анимация какая-то "рваная" что ли :( Я архив прикрепил к сообщению, посмотрите кто-нибудь пожалуйста, что не так Вложение 26951 |
Ага, вам "помоги", чтобы вы, потом, свой сарказм оттачивали?
Цитата:
|
Цитата:
Если да, то прошу прощения! |
рваная она из-за того, что в каждом ENTER_FRAME ты запускаешь эти твины по новой, они путаются с уже запущенными..
вот сравни Код AS3:
|
Цитата:
А если мне нужно будет сделать эффект переключения скорости, сбрасывание срелки на пару градусов назад, то это мне нужно после каждой выполненной функции добавлять ф-ю, которая будет сбрасывать стрелку? То есть, если не ошибаюсь у твинмакса есть CurrentStep, правильно? |
а если нужно будет сделать всякое там еще, то нужно прикидывать когда и что запустить через delay или addCallback на окончание чего-то, обычная логика в-общем
>>если не ошибаюсь у твинмакса есть CurrentStep, правильно? да много там чего есть навскидку, но вот не пользовался TweenMax'ом до сих пор, сейчас глянул и понял, что не буду, видимо, и впредь а буду EazeTween'ом, рационально в нем все как-то и интуитивно понятно, плюс fluent interface c дружественным FD автокомплитом, вместо невнятных объектов |
Цитата:
|
упс, виноват: неверно сказал, если иметь ввиду весь пакет
я искал в самом TweenMax и проглядел, что есть для этого специальный класс |
У меня почему то стрелка на последней анимации падает назад на градусов так 180, почему так? :(
Код AS3:
|
>>почему так?
по завершении каждого из твинов, запущенных в цикле вызывается запуск еще одного (того что в speedComplete), что при этом происходит предлагаю додумать самому.. |
| Часовой пояс GMT +4, время: 12:04. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.