![]() |
|
||||||||||
|
|
|
|||||
|
Доброе время суток.
У меня такая проблема: Есть мувик(навороченная менюха), в ней несколько слоёв, в каждом слое по несколько мувиков, все с кодам и т.п.. onEnterFrame у меня вызывается из нескольких слоёв, но почему то работает он только в том слое который находится ниже других остальных(я их менял местами). Я так понимаю что выход тут в том чтобы просто сделать одну большую функцию которая объеденит в себе другие маленьких которые я вызываю через энтерфрэйм. Или может можно как-нибудь вызывать его с перечислением всех функций которые он должен запустить на исполнение? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Может вы одному и тому же клипу назначаете много onEnterFrame с разными задачами, а не каждому свой onEnterFrame?
PS: когда я писал это сообщение, ответа BBOY Ильича еще не было ) |
|
|||||
|
упс.... дело в том что в приницпе они в разных слоях, но програмно все энетерфрэймы находятся в рут. Так не будет работать?
А можно сделать что-то вроде: ????? Последний раз редактировалось willis83; 30.05.2008 в 22:02. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 669
|
Создайте новый слой для скрипта и назначте каждому клипу свое дело.
|
|
|||||
|
спасибо.... перетращивать только придётся весь мув.... буду знать теперь
|
|
|||||
|
__________________
O God! The Aftermath. |
|
|||||
|
Modus ponens
|
Решение №1: использовать класс mх.transitions.Tween, подисаться на onMotionChanged и в нем анимировать что угодно.
Решение №2: конвеер. Т.е. имитируем работу твина без "излишеств" и вызываем нужные функции с определенным промежутком времени. Простенький пример: var conv:Object = {
funcs:[],
addFunc:function(s:Function, o:Object, args:Array):Void {
this.funcs.push({fn:s, ob:o, ag:args});
},
removeFunc:function(s:Function, o:Object):Function {
var i = this.funcs.length;
while(i--){
if(this.funcs[i].fn != s) continue;
return this.funcs.splice(i, 1)[0];
}
},
listFunc:function():Void {
var i = this.funcs.length;
while(i--){
this.funcs[i].fn.apply(this.funcs[i].ob, this.funcs[i].ag);
}
}
}
function a():Void {
trace('A');
}
function b(c:String, d:Number):Void {
trace('B: '+c+' : '+d);
}
conv.addFunc(a, this);
conv.addFunc(b, this, ['Hi', 253]);
onEnterFrame = function():Void {
conv.listFunc();
}
onMouseDown = function():Void {
conv.removeFunc(a, this);
}
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 31.05.2008 в 19:30. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|