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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.08.2007, 13:02
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 1  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
По умолчанию Создание экземпляра класса

Есть класс:
Код:
class my_loadMovie{

	var container_mc;
	
	function my_loadMovie(target_mc:MovieClip, container_mc_str:String, depth:Number, loading_mc_path_str:String) {
		
		trace("TESTTESTTEST");
		
		container_mc = _root.createEmptyMovieClip(container_mc_str, depth);
		var clipLoader:MovieClipLoader = new MovieClipLoader();
		clipLoader.loadClip(loading_mc_path_str ,this.container_mc);
	}
	
}
Я создаю экземпляр этого класса:
Код:
my_loadMovie_class=new my_loadMovie(this, "skin_container", 10, "test.swf");
trace(my_loadMovie_class);
в результате в output только: [object Object]
не выводит трэйс из конструктора класса.

Создаёт пустой клип Movie Clip: Frame=0 Target="_level0.skin_container", но не загружает в него test.swf

не могу понять что не так...

PS: Язык AS2


Последний раз редактировалось bettrrr; 02.08.2007 в 13:08.
Старый 02.08.2007, 13:05
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 2  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
Сейчас попробовал наследовать этот класс от MovieClipLoader:
Код:
class my_loadMovie extends MovieClipLoader{

	var container_mc;
	
	function my_loadMovie(target_mc:MovieClip, container_mc_str:String, depth:Number, loading_mc_path_str:String) {
		
		trace("TESTTESTTEST");
		
		this.container_mc = _root.createEmptyMovieClip(container_mc_str, depth);
		this.loadClip(loading_mc_path_str ,this.container_mc);
	}
	
}
ничего не изменилось

Старый 02.08.2007, 13:13
zafod вне форума Посмотреть профиль Отправить личное сообщение для zafod Найти все сообщения от zafod
  № 3  
Ответить с цитированием
zafod

Регистрация: May 2007
Сообщений: 116
trace(my_loadMovie_class); - так это он тебе сам объект my_loadMovie_class пытается вывести а не trace("TESTTESTTEST");
попробуй без наследования "extends MovieClipLoader" убери и посмотри, если все ок, значит что то именно с наследованием класса

Старый 02.08.2007, 13:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А что вы получить-то хотите вместо object?

Старый 02.08.2007, 13:20
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 5  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
во втором посте есть фраза: "ничего не изменилось"
Это значит, что после наследования ничего не изменилось, т.е. я пробовал и так и так.

"trace(my_loadMovie_class); - так это он тебе сам объект my_loadMovie_class пытается вывести а не trace("TESTTESTTEST");
"
а ты предлагаешь писать trace(trace("TESTTESTTEST")); ???
Эти выводы никак не связаны между собой.

Цитата:
Сообщение от __etc
А что вы получить-то хотите вместо object?
Не вместо, а в добавок к обджект вывод строки "TESTTESTTEST"
и загрузку внешнего клипа в созданный пустой клип.

Если пустой клип создаётся, значит создаётся объект класса и вызывается конструктор.
Если вызывается конструктор, то должен выполняться trace, но он не выполняется.
Если создаётс пустой мувик, то в него должен загрузиться внешний мувик, но он не загружается.


Последний раз редактировалось etc; 02.08.2007 в 13:35.
Старый 02.08.2007, 13:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
bettrrr, если надо что-то добавить в пост, надо отредактировать свой старый, а не новый писать.

В приведенном классе второго поста несколько ошибок, начиная с названия класса. Ну ещё неплохо было бы вызывать конструктор супер-класса. И непонятно, где используется target_mc.

Старый 02.08.2007, 13:43
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 7  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
"Ну ещё неплохо было бы вызывать конструктор супер-класса."
Какого супер-класса?

Старый 02.08.2007, 13:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
MovieClipLoader, конечно.

Старый 02.08.2007, 13:46
bettrrr вне форума Посмотреть профиль Отправить личное сообщение для bettrrr Найти все сообщения от bettrrr
  № 9  
Ответить с цитированием
bettrrr
[+4 06.08.07]

Регистрация: Aug 2002
Сообщений: 44
десятая строка:
var clipLoader:MovieClipLoader = new MovieClipLoader();

Старый 02.08.2007, 13:50
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
class MyLoader extends MovieClipLoader {

   private var _target:MovieClip;

   public function MyLoader(target_mc:MovieClip, name:String, depth:Number, url:String) {
      super();
      trace('MyLoader created');
      this._target = target_mc.createEmptyMovieClip(name, depth);
      this.loadClip(path, this._target);
   }
}
Код:
var loader:MyLoader = new MyLoader(this, 'target_mc', 10, 'test.swf');

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

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

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


 


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


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