Просмотр полной версии : как зарегать в классе инстанс мувика
решил-таки перейти на As 2.0 и ооп заодно... возникли непонятки [сабж]
что ты имеешь ввиду под "зарегать инстанс мувика"?
artcraft
04.09.2005, 00:25
1. создаём rect.as:
//rect.as
class rect extends MovieClip {
function rect() {
this.beginFill(0xFF0000, 100);
this.moveTo(0, 0);
this.lineTo(100, 0);
this.lineTo(100, 100);
this.lineTo(0, 100);
this.lineTo(0, 0);
this.endFill();
}
}
2.
вставляем новый символ
называем его rect
ставим галку Export fot ActionScript
в поле Identifer: пишем rect
в поле AS 2.0 Class: пишем rect
3.
в первом кадре пишем:
_root.attachMovie("rect","rect1",0);
получаем красный квадрат
внимание вопрос:
как скриптом создать мувик класса rect (не аттачем, пропустив 2-ой шаг)
я как раз именно это и имел ввиду - без аттача... но если прописать класс, то мувик, который уже на сцене, вроде тоже должен принадлежать к этому классу...
artcraft
04.09.2005, 01:35
я как раз именно это и имел ввиду - без аттача... но если прописать класс, то мувик, который уже на сцене, вроде тоже должен принадлежать к этому классу...нет поумолчанию все новые мувики связаны с классом MovieClip
прочесал весь хелп, но не нашёл как скриптом привязать другой класс :~/
есть Object.registerClass(), но для этого символ должен лежать в библиотеке т.е. должен быть создан руками,
а хочется скриптом !!!
:~/
нет поумолчанию все новые мувики связаны с классом MovieClip
прочесал весь хелп, но не нашёл как скриптом привязать другой класс :~/
есть Object.registerClass(), но для этого символ должен лежать в библиотеке т.е. должен быть создан руками,
а хочется скриптом !!!
:~/
это очень плохо... возможно если надо сразу и класс и объект, то надо компонент создавать?
Старым проверенным способом
var t:Object = MovieClip.prototype;
t.applyClass = function (ClassConstructor:Function):Boolean {
//check
if (typeof ClassConstructor != 'function') {
return false;
} // end if
this.__proto__ = ClassConstructor.prototype;
this.constructor = ClassConstructor;
this.constructor.apply (this);
return Boolean (ClassConstructor (this));
}
// использование
some_mc.applyClass (Your_Super_Class_extends_MovieClip);
artcraft
04.09.2005, 17:02
7thsky™, огромное cпасибо,
PS: так тоже работает:
mc=_root.createEmptyMovieClip("r1",1);
mc.__proto__ = rect.prototype;
mc.constructor = rect;
mc.constructor();
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.