加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

as3跟flex中图像加载问题 Error: addChild() is not available i

发布时间:2020-12-15 03:51:24 所属栏目:百科 来源:网络整理
导读:在自学 as3殿堂之路中 在19.2 读取3中数据格式的例子中第三个是读取二进制格式的数据,比如加载图片或者是swf文件。然后我就敲了一下,在as3项目中实验成功。当我用flex项目中的时候出现了? Error: addChild() is not available in this class.? Instead,use

在自学 as3殿堂之路中 在19.2 读取3中数据格式的例子中第三个是读取二进制格式的数据,比如加载图片或者是swf文件。然后我就敲了一下,在as3项目中实验成功。当我用flex项目中的时候出现了?Error: addChild() is not available in this class.? Instead,use addElement() or modify the skin,if you have one.的提示。

目 这时候需要创建UIComponent组件ui. ? ?ui.addChild(content). ?addElement(ui);

程序如下


<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
					   xmlns:s="library://ns.adobe.com/flex/spark" 
					   xmlns:mx="library://ns.adobe.com/flex/mx">
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import flash.display.Loader;
			import flash.display.Sprite;
			import flash.events.Event;
			import flash.net.URLLoader;
			import flash.net.URLLoaderDataFormat;
			import flash.net.URLRequest;
			import flash.utils.ByteArray;
			
			import mx.core.UIComponent;
			private function init():void
			{
				ByteStorage();
			}
			
			
			
				private var loader:Loader;
				public function ByteStorage():void
				{
					var targetURL:String="fla/1.jpg";
					var request:URLRequest=new URLRequest(targetURL);
					
					var variables:URLLoader=new URLLoader();
					variables.dataFormat=URLLoaderDataFormat.BINARY;
					variables.addEventListener(Event.COMPLETE,completeHander);
					variables.load(request);
					
				}
				
				private function completeHander(event:Event):void
				{
					loader=new Loader();
					var content:ByteArray=event.target.data as ByteArray;
					loader.loadBytes(content);
					
					//addChild(loader);  // 运行错误,需要修改成下面的3句。
												//首先创建UIComponet对象ui,把loader数据加
												//载到ui中。然后用addElement添加到主窗口中
					var ui:UIComponent=new UIComponent();
					ui.addChild(loader)
					canvas.addElement(ui);
				}
					
				
			
		]]>
	</fx:Script>
	<mx:Canvas id="canvas" x="12" y="22" width="255" height="207">
		
	</mx:Canvas>
	<s:Button x="60" y="266" label="按钮" click="init()"/>
</s:WindowedApplication>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读