PDA

Просмотр полной версии : инициализация мувика


max_oil
23.04.2010, 22:36
в библиотеке есть мувек прилинкованый к класу.
мувик состоит из двух кадров, первый пустой и код stop()
во втором кадре графика и клип-кнопка с именем btn

var myClip:MyClip = MyClip(_container.attachMovie("myClip1", "myClip1", _depth++));
myClip.btn.onPress = function():Void {
trace("EXIT");
}
Ошибка пишет что нет свойства с именем btn...

если графику положить в первый калр то все нормально, подскажите как побороть эту напасть..

in4core
24.04.2010, 00:19
Никак. Инициализация должна происходить сначала , а не потом. Тут даже глобальными переменными врядли справишься. ))) Есть другая идея, переписать класс так, чтобы не оставлять пустой кадр, а просто включить свойство visible . Это лучшее решениее щас.

max_oil
24.04.2010, 01:22
visible не решит проблему т.к. там много анимации которая будет тормозить систему даже если сделать ее не видимой..
надо еще что-то придумать..
пытался даже поменять местами кадры пустой со стопом на втором месте, а в первом графику с кнопкой, все равно таже история.. :(

rainbowrussia
24.04.2010, 02:33
Можно в библиотечном мувике сразу задать кнопке обработчик с кодом типа

if (this._parent._parent.mBtnPress) { this._parent._parent.mBtnPress(); }

А уже там где он используется, создать функцию mBtnPress. Если приаттаченых мувиков много - можно передать еще ссылку на себя.

Примерно так.

max_oil
24.04.2010, 13:28
rainbowrussia, чивото у меня не получилось как ты написал, решил просто делать removeMovieClip() и когда надо заново его атачить.. и всю графику соответственно в первый кадр..

in4core
24.04.2010, 13:49
что за гон что висибл не подходит? И что тормазит все равно? Фигня полная вы сказали. Все там должно работать нормально.

rainbowrassia подсказал тебе другой вариант. Конечно реализация его у него страшная.
Код на втором кадре клипа :
this.btn.onPress = _root.pressIt;
На руте
function pressIt():Void {
trace("EXIT");
}

max_oil
24.04.2010, 14:09
когда делаешь визибл фалс, анимация все равно продолжает крутится и грузить проц, поэтому и была сначала идея с пустым кадром, т.к. при переходе на него, анимация бы уже не грузила процессор, т.к. перестала бы проигрываться..
с рутами связываться не хочу, т.к. потом неизвесто что будет рутом,потомучто флешка потом будет грузится другой флешкой, та еще может быть будет кем то грузится и т.д.

rainbowrussia
25.04.2010, 04:36
rainbowrassia подсказал тебе другой вариант. Конечно реализация его у него страшная.

Спорить не буду, но позволю себе не согласиться. Обращаться через рут не универсально, логичнее обратиться через несколько _parent к функции родителя, предварительно проверив ее на существование.

Во вложении то что я имел в виду.

in4core
26.04.2010, 00:02
Вы с ума сошли? Логичнее писать весь код либо в классах либо на руте! А не внутри клипов , а уж 500 парентов использовать, это вообще верх сумасшествия,