Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.06.2008, 16:48
Ruffus вне форума Посмотреть профиль Отправить личное сообщение для Ruffus Найти все сообщения от Ruffus
  № 11  
Ответить с цитированием
Ruffus
 
Аватар для Ruffus

Регистрация: 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.
Старый 05.06.2008, 17:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Это не классы, их часть методов из классов.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.06.2008, 17:12
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 13  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
В конструкторе Viewer ты пишешь
Код:
backGr = Background.create(this, "background", 0, {__bColor: 0, __fColor: 0, __pColor: 0, __pWidth: 1, __wSize: __width, __hSize: __height});
В данном случае this - это не клип - это экземпляр класса Viewer.

Старый 05.06.2008, 17:13
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 14  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
работающий тест твоей заморочки

Код:
var vwr:Viewer=Viewer.create(this,"viewer", 0,{_x:50,_y:50});
Код:
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);
	}
}

Старый 05.06.2008, 23:15
Ruffus вне форума Посмотреть профиль Отправить личное сообщение для Ruffus Найти все сообщения от Ruffus
  № 15  
Ответить с цитированием
Ruffus
 
Аватар для Ruffus

Регистрация: Apr 2008
Сообщений: 82
2Волгоградец
Я это понимаю. Разве тут что-то не так?

2Silin
Может быть, я ошибаюсь, но тут то же самое написано. Переписано просто немного в части обращения к конструктору. Могу вот что сказать. У меня были в конструкторе Viewer строки
Код:
_x = __x;
_y = __y;
_rotation = __rotation;
Когда я их переставил в конец метода, всё начало рисоваться.

2iNils
Чувак, ты настоящий гений. ТЫ помог мне больше всех. Если бы не твоя внимательность в отношении регистра символов в коде, у меня бы ничего не получилось. Респект.

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.