Adobe Flash Builder (flex4): addChild () не доступен в этом классе.

Я хочу загрузить swf в гибкий провод 4 приложения для использования его классов.

var ldr:Loader=new Loader();
ldr.load(new URLRequest("file://path/to/fileswf"));
ldr.contentLoaderInfo.addEventListener(Event.INIT, loaded);
function loaded(evt:Event):void { addChild(ldr); }

Я получаю ошибку:

Ошибка: addChild () не доступен в этом классе. Вместо этого используйте addElement () или измените кожу, если у Вас есть тот.
в spark.components. supportClasses::SkinnableComponent/addChild()[E:\dev\gumbo_beta2\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:966]
в main/private:init/loaded () [C:\Documents and Settings\ufk\Adobe Flash Builder Beta 2\xpogames-toolkit-test\src\main.mxml:22]

Если я изменяюсь addChild() кому: addElement(), Я получаю следующую ошибку компиляции:

1067: Неявное приведение значения типа высвечивается display:Loader к несвязанному типу mx.core:IVisualElement. строка пути/dir main.mxml 22 проблемы Flex

Какие-либо идеи, как решить этот вопрос?

9
задан blahdiblah 5 January 2012 в 23:30
поделиться

3 ответа

ну в flash builder 4 полной версии, нет никакого this.rawChildren.

Лучшим подходом для решения проблемы будет преобразование каждого требуемого класса во flex-компонент и использование его в вашем flex-приложении:

  1. download and install flex component kit http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex_skins

  2. создать mov-клип

  3. конвертировать в flex-компонент

  4. добавить соответствующие функции к этому классу

скелет класса, прикрепленного к mov-клипу, который будет преобразован в flex-компонент:

package {
import mx.flash.UIMovieClip;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
public dynamic class challenge_screen extends UIMovieClip {

    public function challenge_screen() {
        super();
    }
}
} 
2
ответ дан 4 December 2019 в 08:00
поделиться

this.rawchildren.addchild (LDR) должен работать

0
ответ дан 4 December 2019 в 08:00
поделиться

Создайте другой контейнер для размещения displayObject:

// container ( IVisualElement ) for DisplayObjects
var container:UIComponent = new UIComponent();
addElement( container );

// displayObject goes to container
var displayO:Sprite = new Sprite();
container.addChild( displayO );
24
ответ дан 4 December 2019 в 08:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: