undefined |
26.05.2015 18:44 |
гейзенбаг при вызове из FD функции из swc
1)Уже довольно давно преследует непонятная бага/фича:
В текущем проекте для кнопок использую такой шаблон - однокадровый MovieClip,в котором лежит dynamic TextField и прозрачный спрайт bg поверх.Также в кадре описана функция
Код AS3:
function update():void {
tf.x=tf.y=5;
bg.width=tf.x+tf.width+15;
bg.height=tf.y+tf.height+10;
}
Которая подгоняет bg под размеры тектфилда
Все это дело компилится в SWC и включается в FD проект.Но вот какая странная штука раз в 10-20 сборок, там где вызывается эта функция, выскакивает
Причем если пересобрать флэшку ошибка исчезает
2)И второй вопрос который как-то может быть связан с первым.Заметил такую особенность если в flash IDE Создать MovieClip, прописать у него в первом кадре такой код:
Код AS3:
var a:Number=0;
function test():void {
trace(a);
}
Кинуть его на сцену с именем mc и в первом кадре сцены вызвать
в консоле появится NaN. Т.е. переменная создалась, но не проинициализировалась.Фактическая инициализация происходит только в следующем кадре.Есть у этого какое-то логическое объяснение?
|