Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с Tween'ами! (http://www.flasher.ru/forum/showthread.php?t=127599)

Recky 18.07.2009 01:19

Проблема с Tween'ами!
 
Очень часто случается при создании tween'a через конструктор, tween останавливается недовыполнив действие и все и как-бы повисает. Причем другие tween'ы например Tweener работают нормально. А штатный как-то подглючивает. Никто не сталкивался с проблемой?

Lou 18.07.2009 02:09

Сталкивался. Как столкнулся - пересел на Tweener. Это не глюк. Просто твины, дабы их не выкосил сборщик мусора, нужно присваивать переменным класса.

kup 18.07.2009 02:13

вы ссылку на Tween храните в локальной переменной либо не храните вовсе. Ее прибивает GC.

Dima_DPE 18.07.2009 03:29

Gtween, Tweener, Gtweener (GTween + Tweener) и будет вам счастье. Еще есть TweenLite (TweenMax). Есть еще и масса библиотек, например KitchenSync, goplayground и еще пара десятков. А если не хочется бросать стандартный твин, тогда храните ссылку на твин.

Recky 18.07.2009 09:41

Спасибо всем, но я еще вас немного помучаю! Ибо я совсем недавно в AS3.
2kup: Что такое GC?
2Dima_DPE: Как правильно хранить ссылку гна твин, просто поподробнее если не сложно? У меня это выглядит так:
Код AS1/AS2:

mHub.addEventListener(MouseEvent.ROLL_OVER,mouseOverAction,true);
mHub.addEventListener(MouseEvent.ROLL_OUT,mouseOutAction);
 
function mouseOutAction(event:MouseEvent):void {
        if (mHub.y==-5) {
                var tween:Tween=new Tween(mHub,"y",Bounce.easeOut,-5,-214,0.5,true);
        }
}
 
function mouseOverAction(event:MouseEvent):void {
        if (mHub.y<=-214) {
                var tween:Tween=new Tween(mHub,"y",Bounce.easeOut,-214,-5,1.5,true);
        }
}


IDmitry 18.07.2009 15:04

GC - Garbage Collector - сборщик мусора

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

kup 18.07.2009 15:07

GC = Garbage Collector, сборщик мусора.


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

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