![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2008
Сообщений: 82
|
Я описался
Там, разумеется var hall_viewer: Viewer = Viewer.create(_root, "hall viewer", 0, {}); Экземпляр Viewer создаётся таки же способом предварительно. Но не видно ничего потом. public function Viewer()
{
super();
if (__x == undefined) {__x = 0; }
if (__y == undefined) {__y = 0; }
if (__rotation == undefined) {__rotation = 0; }
_tfText = new TextFormat();
with (_tfText)
{
font = "Ar_Font";
size = 42;
align = "center";
color = 0x000000;
}
backGr = Background.create(this, "background", 0, {__bColor: 0, __fColor: 0, __pColor: 0, __pWidth: 1, __wSize: __width, __hSize: __height});
backGr.fill();
hall = Hall.create(this, "hall", 1, {_backGr: backGr});
_x = __x;
_y = __y;
_rotation = __rotation;
}
public static function create(this_movclip:MovieClip, name:String, depth:Number, init_obj:Object):Viewer
{
var out_movclip:MovieClip = this_movclip.createEmptyMovieClip(name, depth);
var current_constructor:Function = Viewer;
out_movclip.__proto__ = current_constructor.prototype;
for (var i in init_obj)
{
out_movclip[i] = init_obj[i];
}
current_constructor.call(out_movclip);
return Viewer(out_movclip);
}
public function fill()
{
var ws:Number = __wSize;
var hs:Number = __hSize;
var c:Number = __bColor;
with (this)
{
lineStyle(1, 0x000000, 0, true, "normal", "round", "round");
beginFill(c);
moveTo(0, 0);
lineTo(ws, 0);
lineTo(ws, hs);
lineTo(0, hs);
lineTo(0, 0);
endFill;
}
}
public function Background()
{
super();
if (__hSize == undefined) { __hSize = 0; }
if (__wSize == undefined) { __wSize = 0; }
if (__bColor == undefined) { __bColor = 0xD4D0C8; }
if (__pColor == undefined) { __pColor = 0x000000; }
if (__fColor == undefined) { __fColor = 0x000000; }
if (__pWidth == undefined) { __pWidth = 1; }
}
public static function create(this_movclip:MovieClip, name:String, depth:Number, init_obj:Object):Background
{
var out_movclip:MovieClip = this_movclip.createEmptyMovieClip(name, depth);
var current_constructor:Function = Background;
out_movclip.__proto__ = current_constructor.prototype;
for (var i in init_obj)
{
out_movclip[i] = init_obj[i];
}
current_constructor.call(out_movclip);
return Background(out_movclip);
}
Последний раз редактировалось Ruffus; 05.06.2008 в 16:54. |
|
|||||
|
В конструкторе Viewer ты пишешь
В данном случае this - это не клип - это экземпляр класса Viewer. |
|
|||||
|
работающий тест твоей заморочки
class Viewer extends MovieClip
{
public static function create(this_movclip:MovieClip, name:String, depth:Number, init_obj:Object):Viewer
{
var out_movclip:MovieClip = this_movclip.createEmptyMovieClip(name, depth);
out_movclip.__proto__ = Viewer.prototype;
for (var i in init_obj)
{
out_movclip[i] = init_obj[i];
}
Function(Viewer).call(out_movclip);
return Viewer(out_movclip);
}
public function Viewer()
{
var bgr:Background = Background.create(this, "bg", 0);
bgr.fill();
}
}
class Background extends MovieClip
{
public static function create(this_movclip:MovieClip, name:String, depth:Number, init_obj:Object):Background
{
var out_movclip:MovieClip = this_movclip.createEmptyMovieClip(name, depth);
out_movclip.__proto__ = Background.prototype;
for (var i in init_obj)
{
out_movclip[i] = init_obj[i];
}
Function(Background).call(out_movclip);
return Background(out_movclip);
}
public function fill()
{
lineStyle(50, 0xFF0000);
lineTo(1, 1);
}
}
|
|
|||||
|
Регистрация: Apr 2008
Сообщений: 82
|
2Волгоградец
Я это понимаю. Разве тут что-то не так? 2Silin Может быть, я ошибаюсь, но тут то же самое написано. Переписано просто немного в части обращения к конструктору. Могу вот что сказать. У меня были в конструкторе Viewer строки Когда я их переставил в конец метода, всё начало рисоваться. 2iNils Чувак, ты настоящий гений. ТЫ помог мне больше всех. Если бы не твоя внимательность в отношении регистра символов в коде, у меня бы ничего не получилось. Респект. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|