![]() |
|
||||||||||
|
|
|
|||||
|
Сделал код Для аттача из библиотеки рандомных символов и динамически запускаю твины для каждого циклом по его окончании... жуть
![]() суть в том что если аттачить 1 символ твин выполняется для его одного 20 раз... если аттачить 20 символов твин выполняется по 1му разу для каждого и в сумме все равно 20 раз... потом все твины останавливаются ![]() import fl.transitions.*; import fl.transitions.Tween; import fl.transitions.easing.*; import flash.events.*; import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.Sprite; var MinW:int = parent.width - 100; var MinH:int = parent.height - 100; for (var j=1; j<10; j++) { var newRandBox = Math.round(Math.random() * 4) + 1; var GenerName:String = "ColorBox" + newRandBox; var NewDefMC:MovieClip = new (getDefinitionByName(GenerName) as Class)() as MovieClip; this.addChild(NewDefMC); var TempNameObj = NewDefMC; var Sx = Math.random() * MinW; var Sy = Math.random() * MinH; var Ss = (Math.round(Math.random() * 10) / 10)+0.4; var Sa = (Math.round(Math.random() * 10) / 10)+0.1; StartMoveBox(TempNameObj,Sx,Sy,Ss,Sa); } function StartMoveBox(BoX, Sx,Sy,Ss,Sa) { var NewTWx:Tween; var NewTWy:Tween; var NewTWscaley:Tween; var NewTWscalex:Tween; var NewTWa:Tween; var NewDuration = (Math.round((Math.random()+0.1)*10)/10)*10; var Ex = Math.random() * MinW; var Ey = Math.random() * MinH; var Es = (Math.round(Math.random() * 10) / 10)+0.4; var Ea = (Math.round(Math.random() * 10) / 10)+0.1; NewTWy = new Tween(BoX,"x",Back.easeOut,Sx,Ex,NewDuration,true); NewTWx = new Tween(BoX,"y",Back.easeOut,Sy,Ey,NewDuration,true); NewTWscalex = new Tween(BoX,"scaleX",Back.easeOut,Ss,Es,NewDuration,true); NewTWscaley = new Tween(BoX,"scaleY",Back.easeOut,Ss,Es,NewDuration,true); NewTWa = new Tween(BoX,"alpha",Back.easeOut,Sa,Ea,NewDuration,true); NewTWa.addEventListener(TweenEvent.MOTION_FINISH, funishTween); function funishTween(e:TweenEvent) { trace("end Starter"); StartMoveBox(BoX, Ex, Ey,Es,Ea); } } |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
вы все твины храните в локальных переменных, вот после цикла сборщик мусора их и киляет, попробуйте хранить их в переменных класса.
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Попробуйте воспользоватся альтернативным твинером: https://www.greensock.com/
|
|
|||||
|
мне критично именно стандартным... и потом я программер не очень...
![]() |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Использование TweenLite от указанного выше http://www.greensock.com/ проще и надежнее.
Кроме того, Вы запускаете ПЯТЬ твинов для одного объекта (на самом деле, это неправильное решение), а при использовании TweenLite нужно запустить всего один твин, который поменяет все пять параметров у таргетного объекта. Вот ссылка с примером кода: http://www.greensock.com/tweenlite/ |
|
|||||
|
а как его установить в мой файл?
|
|
|||||
|
Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
|
Скопировать в корень проекта папку com из скаченного архива и
__________________
Не всех война убила - многих покалечила |
|
|||||
|
cпс!
кому интересно решил проблему запихав код с твином в сам символ который аттачил(в библиотеке) и все заработало вне зависимости от количества инстансов! |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
эх, учили-учили, хотели как лучше, а получилось...
|
|
|||||
|
я обязательно разберусь с предложены вами твином, мне просто срочно надо
нет времени ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:17. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|