Просмотр полной версии : Создание экземляров дочерних классов от MovieClip
значит создаю подкласс класса MovieClip и пытаюсь сразу определить событие onMouseDown, но ничего не получается...
Помогите кто чем может...
class temp extends MovieClip {
function onMouseDown() {
trace("ok");
}
}
И как ты юзаешь этот класс? (И классы надо с большой буквы называть)
Рекомендация - класс именовать с большой буквы.
в классе ошибки не вижу, есть только придирки к оформлению=)
Да то, что с большой буквы это формальности (я торопился, когда писал)...:)
А юзаю ну как обычно: var my_temp=new Temp();
Мувиклипы так не создаються.
После написания класса, нужно открыть библиотеку и создать там новый мувик, после чего щелкнуть по галочке Export For ActionScript, откроесть в поле AS2 Class вписать путь к файлу, изходя из CLASSPATH(тоесть com.onorange.crypt.MD5 например).
Для загрузки классов-мувиклипов стоит почитать соотвествующую тему в FAQ (http://flasher.ru/forum/showthread.php?t=71896)
После чего экземляры класса нужно создавать фабричным методом класса MovieClip - attachMovie
myContainer.attachMovie("myClassID",other params);
Я юзаю такую конструкцию для создания мувика-экземпляра класса MyClass:
class MyClass extends MovieClip {
function MyClass() {
// contructor
}
public static function create(this_mc:MovieClip, name:String, depth:Number, init_obj:Object):MyClass {
var out_mc:MovieClip = this_mc.createEmptyMovieClip(name, depth);
var current_constructor:Function = MyClass;
out_mc.__proto__ = current_constructor.prototype;
for (var i:String in init_obj) {
out_mc[i] = init_obj[i];
}
current_constructor.call(out_mc);
return MyClass(out_mc);
}
}
// USAGE
var my_mc:MyClass = MyClass.create(this,"myclass_mc",0,{_x:25,_y:65});
з.Ы. Спасибо Ване за счастливое детство.
Впрочем, данную конструкцию усовершенствовали до класса McFactory... Но это детали уже...
Т.е. я делаю сл. шаги:
1.Создаю класс во внешнем файле.
2.Прописываю путь к нему (как в import) в свойстве пустого библиотечного символа.
3.Потом аттачу мувик из библиотеки?
4.И делаю var my_temp=new Temp();? т.е. как мне создать екземпляры класса?
Нет экземляры класса создаються фабричным методом класса MovieClip
_root.attachMovie("myClassID",other params);
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.