var mc:MovieClip = new MyClip();
среда, 30 декабря 2009 г.
Создание MovieClip'a в коде
Итак, создаем наш MovieClip с именем MyClip (не путать Name и Instance Name, я имею ввиду Name), в библиотеке щелкаем правой кнопкой на созданном MovieClip-е, выбираем Properties. В появившемся окне есть галочка Export for ActionScript, отмечаем её, теперь в поле Class должно появиться MyClip. На этом дела со сценой закончены, код:
понедельник, 21 декабря 2009 г.
Связь браузера с роликом или переменные "flashvars"
При интеграции ролика на страницу можно передать ему свои параметры в переменной flashvars. Например:
Или:
<embed src="/flashFile.swf" flashvars="p1=var1&p2=var2" />
<object><param name="flashvars" value="p1=var1&p2=var2" /></object>Теперь в ролике можно получить значения соответствующих параметров, вот так:
var p1:String = root.loaderInfo.parameters.p1;
var p2:String = root.loaderInfo.parameters.p2;
пятница, 18 декабря 2009 г.
Tween не доигрывает до конца в ActionScript 3.0
Разрабатываю по работе флешку - карту Киева, естественно присутствуют эффекты увеличения, высветления, перемещения и для их реализации используется что-то типа:
var tween:Tween = new Tween(items[curItem], "alpha", Strong.easeOut, items[curItem].alpha, 0, 0.8, true);И вот в чем дело, иногда анимация не доходит до конца и на карте например остается левый кусок с alpha = 0.1. Как не странно искать пришлось не долго... Проблема в том что AS3 ищет безхозные Tween-ы (а мои именно такие, т.к. являются локальными переменными) и убивает их (собирает мусор вобщем). Поэтому во избежание этого приспособился так:
//все анимации хранятся в словаре
private var tweens:Dictionary;
tweens = new Dictionary(false);
//создание анимации, установка обработчика конца проигрывания анимации и добавление её в словарь
var tween:Tween = new Tween(items[curItem], "alpha", Strong.easeOut, items[curItem].alpha, 0, 0.8, true);
tween.addEventListener(TweenEvent.MOTION_FINISH, tweenMotionFinish);
tweens[tween] = tween;
//когда анимация проиграна можно смело её удалять
private function tweenMotionFinish(e:TweenEvent):void
{
tweens[e.currentTarget] = null;
delete tweens[e.currentTarget];
}
Подписаться на:
Сообщения (Atom)
