Create another container to place the displayObject in:

来源:互联网 发布:99任务网源码 编辑:程序博客网 时间:2024/05/21 05:38

http://stackoverflow.com/questions/2023632/adobe-flash-builder-flex4-addchild-is-not-available-in-this-class?answertab=active#tab-top

http://forums.adobe.com/thread/528185

http://blog.csdn.net/yinweilaibuji/article/details/7696588

Create another container to place the displayObject in:

// container ( IVisualElement ) for DisplayObjectsvar container:UIComponent = new UIComponent();addElement( container );// displayObject goes to containervar displayO:Sprite = new Sprite();container.addChild( displayO );
private var _loader:SWFLoader = new SWFLoader();private var _uicomponent:UIComponent = new UIComponent();private function swfLoaded(event:Event):void {Alert.show("inside swf Loaded");var content:DisplayObject =_loader.content;_uicomponent.addChild(content);} public function loadSWF () : void {   _loader.addEventListener(Event.INIT, swfLoaded);_loader.load("http://intelliveysoft.com:5080/myelearn/Admin.swf"); addElement(_uicomponent);}

well in flash builder 4 full version, there isn't any this.rawChildren.

The best approach to resolve the issue would be to convert each required class to a flex component and to use it on your flex application:

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

  2. create a movie clip

  3. convert to flex component

  4. add the relevant functions to this class

a skeleton for a class that is attached to a movieclip that is about to be converted to a flex component:

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();    }}} 
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"               xmlns:s="library://ns.adobe.com/flex/spark"               xmlns:mx="library://ns.adobe.com/flex/halo"               initialize="init();">    <fx:Script>        <![CDATA[            private const spr1:Sprite = new Sprite();            private const spr2:Sprite = new Sprite();            private function init():void {                spr1.graphics.beginFill(0xFF0000, 0.5);                spr1.graphics.drawRect(10, 10, 100, 80);                spr1.graphics.endFill();                con.addChild(spr1);                spr2.graphics.beginFill(0x0000FF, 0.3);                spr2.graphics.drawRect(20, 20, 80, 100);                spr2.graphics.endFill();                con.addChild(spr2);            }        ]]>    </fx:Script>    <s:SpriteVisualElement id="con" /></s:Application>
原创粉丝点击