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

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

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

Регистрация: Dec 2006
Сообщений: 230
По умолчанию Наследование свойства класса MovieClip

В конструкторе обычного класса, который ничего не расширяет, пытаюсь создавать мувик при помощи createEmptyMovieClip. Компиллер ругается, что There is no method with the name 'createEmptyMovieClip'. Импорт класса MovieClip не помогает. В чем проблема?
Спасибо.

Старый 27.04.2007, 01:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Ariel
В конструкторе обычного класса, который ничего не расширяет, пытаюсь создавать мувик при помощи createEmptyMovieClip. Компиллер ругается, что There is no method with the name 'createEmptyMovieClip'. Импорт класса MovieClip не помогает. В чем проблема?
Спасибо.
А откуда метод возьмется, по вашему?

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

Регистрация: Dec 2006
Сообщений: 230
Цитата:
А откуда метод возьмется, по вашему?
Ну, по-моему он должон браться из импортируемого класса MovieClip. Про то и пишу..
Цитата:
Поэтому надо передать в него ссылку на какой-то мувиклип и создать в нем.
Ага, значить, если на руте создаем, то в конструктор рутовую ссылку передаем, так что-ли? Что-то типа такого на основной временной шкале::
Код:
new God(this);

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

Регистрация: Sep 2002
Сообщений: 30,787
Можно и так. Но метода createEmptyMovieClip у Object нет.

Старый 27.04.2007, 01:51
Ariel вне форума Посмотреть профиль Отправить личное сообщение для Ariel Найти все сообщения от Ariel
  № 6  
Ответить с цитированием
Ariel
 
Аватар для Ariel

Регистрация: Dec 2006
Сообщений: 230
Это понятно, что нет... А как еще можно? Типа, расширить God от MovieClip, получив тем самым ссылку на createEmptyMovieClip? Но этому методу надо скармливать адрес временной шкалы для создания. И где его добывать тогда?

Старый 27.04.2007, 02:16
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 7  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Код:
class AnyClass {
	private var _mc:MovieClip;

	/**
	 * Конструктор.
	 */	
	public function AnyClass(target:MovieClip, depth:Number){
		if(!target){
			return;
		}
		this._mc = target.createEmptyMovieClip('_anyClassMcAt'+depth, depth);
	}
}

Старый 27.04.2007, 02:20
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 8  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
lowka, можно без this в this._mc.

без передачи адресса временной шкалы не получится.

Код:
class exper.Exp1 extends MovieClip {
	public function Exp1 (){
		trace (this)
	}
}
если создавать на главной this будет равен [object Object]
__________________
Free-lance | Twitter | Me

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

Регистрация: Dec 2006
Сообщений: 230
Я и говорю, что ссылку передаем... Вернее, Inils.

А вообще, никак в голове не укладывается: как же так получается, что когда навешиваем внешний класс на мувик в библиотеке при помощи Linkage, и трейсим свойство this, то наблюдаем указатель на мувик, а не на объект класса! Ведь два разных объекта имеем, по идее. Один - это сам рисованный библиотечный мувик. Другой - наш объект на базе внешнего класса. Как же так получилось, что у них одинаковый this в рантайме? Путаница какая-то... Эксперты, поясните! А то Гурский как-то ясности не вносит.


Последний раз редактировалось iNils; 27.04.2007 в 05:36.
Старый 27.04.2007, 02:46
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 10  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Цитата:
Сообщение от screamge
lowka, можно без this в this._mc.
Да, можно, но я всегда указываю к свойству какого объекта обращаюсь (во избежание бессмысленных префиксов).

Цитата:
Сообщение от Ariel
...Ведь два разных объекта имеем, по идее. Один - это сам рисованный библиотечный мувик. Другой - наш объект на базе внешнего класса. Как же так получилось, что у них одинаковый this в рантайме? ...
объект один. и этот объект -- мувик со всеми указанными методами и свойствами.

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

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

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


 


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


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