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

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

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

Регистрация: Sep 2009
Сообщений: 15
По умолчанию Coerce MovieClip

Возник следующий вопрос.

Возможно ли преобразовать уже существующий MovieClip в объект, который является расширением MovieClip?

То есть у меня на стейдже уже располагается MovieClip, который находится в подгружаемой флэшке. Я хочу достать его и завернуть в новый объект(для удобства), то есть, чтоб по прежнему был MovieClip, но с дополнительными возможностями.
Я, конечно, могу создать простой класс с дополнительными возможностями, который держал бы ссылку на этот MovieClip и мог бы производить дополнительные действия. но немного неудобно. Хотелось бы просто расширить сам MovieClip. При всех моих попытках сейчас сделать нечто подобное

Код AS3:
package com.cc.model
{
	import flash.display.MovieClip;
 
	public class PlotView extends MovieClip
	{
		private var _building:Building;
 
		public function PlotView(building:Building=null)
		{
			super();
			_building=building;
		}
 
		public function get building():Building{
			return _building;
		}
 
		public function set building(value:Building):void{
			_building=value;
		}
 
 
	}
}
Код AS3:
var movieClip:MovieClip=clip.getChildAt(i);
var view:PlotView;
view=movieClip as PlotView;
кидается ошибка TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать flash.display::MovieClip@75f1b01 в com.cc.model.PlotView.

Помогите, пожалуйста!

Старый 08.02.2010, 19:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Возможно ли преобразовать уже существующий MovieClip в объект, который является расширением MovieClip?
Нет, нельзя. Технически, можно перелионковать уже скомпилированый символ (ресурс) к другому классу, но это скорее всего не то, что вам нужно. Так что вариант с написаниeм класса и назначением его библиотечному символу - это правильный путь.
__________________
Hell is the possibility of sanity

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

Регистрация: Sep 2009
Сообщений: 15
Эх, так и предполагал в принципе, но хотелось чуда-)) Чуда не вышло - будем работать, как все. Спасибо за ответ

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

Регистрация: Oct 2008
Сообщений: 47
Кажись тип того
PlotView(movieClip, parameter2, parameter3);
view = new PlotView(movieClip, null, null);

еще указать в PlotView значения для параметров по дефолту... Может тогда преобразуется
__________________
Ждете Христа? Он сказал мне, что больше не придет.

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

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

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


 


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


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