|
|
|||||
Классы, наследующие MovieClip
У меня давно вот есть тпроблемма. И решение есть, но оно мне перестало нравиться.
Вобщем - создаю класс, который наследует МувиКлип. Не суть важно, но допустим - нужно просто в любом месте создать мувик, в котором должен отрисоваться прямоугольник с заданными шириной, высотой, цветом: class ColorRectangle extends MovieClip{ private var _w:Number; private var _h:Number; private var _linecolor:Number; private var _color:Number; public function ColorRectangle(){ this._linecolor=0; this._color=Math.floor(Math.random()*0xffffff+1); this._w=10; this._h=10; } public function init(w,h,color,linecolor){ this._w=(!isNaN(w))?w:this._w; this._h=(!isNaN(h))?h:this._h; this._color=(!isNaN(color))?color:this._color; this._linecolor=(!isNaN(linecolor))?linecolor:this._linecolor; } public function Draw(){ this.clearIt(); this.lineStyle(1,this._linecolor,100); this.beginFill(this._color,100); this.moveTo(0,0); this.lineTo(this._w,0); this.lineTo(this._w,this._h); this.lineTo(0,this._h); this.lineTo(0,0); this.endFill(); } public function clearIt(){ this.clear(); } } public static function createFromMC(mc:MovieClip) { var inst:Object = new ColorRectangle(mc); for (var i in inst) { mc[i] = inst[i]; } mc.constructor = inst.constructor; mc.__proto__ = inst.__proto__; return mc; } import ColorRectangle; var mc=_root.createEmptyMovieClip(name,depth); var crect=ColorRectangle.createFromMC(mc); Внимание - вопрос: "Нет ли более нормального способа создать объект класса, который наследуется от мувиклипа, не используя символы библиотеки?" Последний раз редактировалось crazyone; 01.02.2008 в 18:52. |
|
|||||
Регистрация: Apr 2006
Сообщений: 29
|
слушай у тебя в конструкторе "ColorRectangle()" параметров нет, зачем ты положил туда "mc" (new ColorRectangle(mc))?
|
|
|||||
Цитата:
код, который вы скопипастили - лучший вариант |
|
|||||
Modus ponens
|
Ничего не понимаю... %) А зачам нужен этот статический метод? =)
Если класс должен быть привязан к символу в библиотеке, то проще всего его создать используя attachMovie(), если нет, то передать конструктору ссылку на клип, где нужно создать объект класса. ЗЫ. Покажите пример использования... а то чего-то ничего в голову не приходит =)
__________________
Hell is the possibility of sanity |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Цитата:
|
|
|||||
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +4, время: 12:58. |
|
« Предыдущая тема | Следующая тема » |
|
|