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

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

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

Регистрация: Jan 2006
Сообщений: 7
По умолчанию Класс параметры AttachMovieClip

Проблема:

есть класс наследуемый от MovieClip
в нём конструктор с параметрами
с использованием этих параметров инициализируются другие переменные класса.

на сцене объект данного класса создаётся с помощью AttachMovieClip
каким образом мне передать значения параметров в конструктор класса?
как понял InitObject из AttachMC инициализирует переменные класса после его создания.

можно ли как-нибудь по-другому создавать и прикреплять экземпляры данного типа?

спасибо.

Старый 16.01.2006, 16:30
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 2  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
есть два выхода
1) Наследование, использовать initObject (или реализовать это по своему, как например createClassObject в компонентах макромедии)
2) Композиция, создать класс, который бы контролировал какой либо мувиклип.
и в его конструкторе уже можно все вводить.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>как понял InitObject из AttachMC инициализирует переменные класса после его создания
тут такая штука (поправьте если я не прав)- конструктор нормально видит InitObject:
Код:
class Test extends MovieClip{
	private var a;
	public function Test(){
		trace(a);
	}
}
////////////////
this.attachMovie('mc','tmp',0,{a:'xxx'})//xxx

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

Регистрация: Nov 2005
Сообщений: 221
Это точно, еще была такая практика в AS1:
Код:
class Test extends MovieClip{
	private var params;
	public function Test(){
		this.a = this.params.a;
                          ...
                          delete this.params;
	}
}

var params = {a:"", b:1};
this.attachMovie('mc','tmp',0,params})

Старый 16.01.2006, 21:31
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 5  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Расскажу сказку про то, о чем сказал Давид.

Еще какое-то время назад я почти и не наследовал от мувиклипа. Гораздо удобнее держать класс со ссылкой на его вид. Однако, создавая более-менее серьезный фреймворк пришел к мысли, что надо отказаться от наследования у такого вот самописного заменителя. Почему? Вам надо будет исхитриться реализовать тот же API своими руками, что иногда очень просто, но иногда -- как в случае с созданием копии attachMovie, содержит массу нюансов, отлавливать которые умрешь.

Поэтому теперь если знаю, что классов будет достаточно много и все с разным назначением и видами, наследую от MovieClip. В остальных случаях делаю как и раньше.

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

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

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


 


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


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