Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Coerce MovieClip (http://www.flasher.ru/forum/showthread.php?t=136045)

sergeik81 08.02.2010 18:49

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.

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

wvxvw 08.02.2010 19:16

Цитата:

Возможно ли преобразовать уже существующий MovieClip в объект, который является расширением MovieClip?
Нет, нельзя. Технически, можно перелионковать уже скомпилированый символ (ресурс) к другому классу, но это скорее всего не то, что вам нужно. Так что вариант с написаниeм класса и назначением его библиотечному символу - это правильный путь.

MrNobody 08.02.2010 19:21

Кажись тип того
PlotView(movieClip, parameter2, parameter3);
view = new PlotView(movieClip, null, null);

еще указать в PlotView значения для параметров по дефолту... Может тогда преобразуется

sergeik81 08.02.2010 19:22

Эх, так и предполагал в принципе, но хотелось чуда-)) Чуда не вышло - будем работать, как все. Спасибо за ответ


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

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