PDA

Просмотр полной версии : почему не срабатывает событие?!


Chas
05.05.2007, 05:07
создаю новую флешку.
в первом фрейме рисую квадрат, конвертирую его в мувик. захожу в мувик, в первом фрейме открываю Actions, пишу:

onLoad=function (){
trace ("test!");
}


и событие не срабатывает. хотя если там же написать то же самое на, например, onEnterFrame - то это событие срабатывает.
почему? это так задумано?

iNils
05.05.2007, 05:31
onLoad срабатывает только, если он описан в классе.
Например:
1. Создать символ с идентификатором libTest
2. Внутри клипа написать
#initclip
function Test () {
}
Test.prototype = new MovieClip ();
Object.registerClass ("libTest", Test);
Test.prototype.onLoad = function () {
trace ("test!");
};
#endinitclip
или
1. Создать символ с идентификатором libTest и именем класса Test
2. Создать сам класс
class Test () {
function Test () {
}
function onLoad ():Void {
trace ("test!");
}
}
то событие сработает

Chas
05.05.2007, 05:50
глупо как-то =(
почему тогда в _root onLoad срабатывает.
нет, ну это же глупость, onClipEvent (load) в дейсвиях символа срабатывает, а onLoad не срабатывает.
в догонку еще такой вопрос:
в расшареной библиотеке лежит клип. Он используется несколько раз в основном мувике, атачится с помощью attachMovie. Я хочу, чтобы в расшареной бибилиотеке не было никакого AS, в том числе в linkage не было идентификаторов классов. Т.е. класс для экземпляра на сцене можно указать только во время атача. я так понимаю, нужно что-то типа:

cur=attachMovie ("sequence",
"model"+getNextHighestDepth(),
getNextHighestDepth());
Object.registerClass (cur, game.CharacterAnimationSequence);


а код в ключевых словах #initclip/#endinitclip выполняется после загрузки первого фрейма или всего мувика?