as3中的embed

actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行)

原 作者:菩提树下的杨过
出处:http://yjmyzz.cnblogs.com

关键点:

设计师把素材放入到库中时,一定要指定类名,这样代码才能创建这些类的实例。

如上图所示,这里库中放了三种基本的素材(按钮,位图,电影夹),然后在代码中可以这样处理:

 1 package
 2 {
 3
 4     import flash.display.Sprite;
 5     import flash.display.DisplayObject;
 6     import flash.display.SimpleButton;
 7     import flash.events.MouseEvent;
 8     import flash.display.MovieClip;
 9     import flash.display.BitmapData;
10     import flash.display.Bitmap;
11
12
13     public class Demo extends MovieClip
14     {
15         [Embed(source = "skin.swf",symbol = "ButtonPause")]
16         private var ButtonPause:Class;
17
18         [Embed(source = "skin.swf",symbol = "ButtonPlay")]
19         private var ButtonPlay:Class;
20
21         [Embed(source = "skin.swf",symbol = "LogoImage")]
22         private var LogoImage:Class;
23
24         [Embed(source = "skin.swf",symbol = "TestMovie")]
25         private var TestMovie:Class;
26
27
28         public function Demo()
29         {
30             init();
31         }
32
33         private function init():void
34         {
35             var btnTest:SimpleButton = new ButtonPause() as SimpleButton;
36             trace(btnTest,btnTest is SimpleButton);//Demo_ButtonPause0,true
37             addChild(btnTest);
38             btnTest.x = btnTest.y = 50;
39             btnTest.addEventListener(MouseEvent.CLICK,btnTestClick);
40
41             var btnTest2:SimpleButton = new ButtonPlay() as SimpleButton;
42             trace(btnTest2);//Demo_ButtonPlay1
43             addChild(btnTest2);
44             btnTest2.y = 50;
45             btnTest2.x = 100;
46             btnTest2.addEventListener(MouseEvent.CLICK,btnTest2Click);
47
48
49             var bmd:Bitmap = new LogoImage() as Bitmap;
50             trace(bmd);//Demo_LogoImage2
51             addChild(bmd);
52             bmd.x = bmd.y = 200;
53
54             var testMovie:MovieClip = new TestMovie() as MovieClip;
55             addChild(testMovie);
56             testMovie.x = testMovie.y = 180;
57             trace(testMovie);//Demo_TestMovie3
58
59         }
60
61         private function btnTestClick(e:MouseEvent):void
62         {
63             trace("btnTest 被点击了!");
64         }
65
66         private function btnTest2Click(e:MouseEvent):void
67         {
68             trace("btnTest2 被点击了!");
69         }
70     }
71
72 }
时间: 2024-10-13 21:03:52

as3中的embed的相关文章

FB AS3 中,使用条件编译,实现debug、release的代码分离编译。

问题的产生: 在项目中看到有关这样的代码,不理解,就查找了相关的资料. 在这里看懂CONFIG::release与CONFIG::dubug的用法,所以不理解. 查到网上,找到一个例子来介络,就拿来凑合用着,还是易懂的. 1. FB AS3 中,使用条件编译,效果类似:VS的#if DEBUG与#if RELEASE,相比之下,FB中的宏定义更灵活 这是一个有关的例子,具体可以参考这里:http://blog.csdn.net/linjf520/article/details/7728403.由

as3中的多线程

从fp11.4开始支持worker技术, 即as3中的线程概念, 到了fp11.5, flascc中开始支持pthread家族来创建线程. 总的来说, as3中有两种创建线程的方法: 1.直接在as3中利用worker家族接口来创建和使用线程. 2.利用flascc技术在c中使用pthread家族接口来创建和使用线程.adobe官方文档明确指出, 使用pthread创建的线程, 最终也是使用as3中的worker来实现的. 一.worker对象的创建和获取 1.利用worker家族接口创建的wo

AS3中的Dictionary类

AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类.Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对的键.例如: var obj:Object = new Object();obj["name"] = 1; // 键是字符串"name"obj[1] = 2; // 键是1 (被转换成字符串"1")obj[new Object()] = 3; //

AS3中正则表达式对反斜杠的替换

一个有趣的小问题,下面的正则表达式能替换成功么? var __str:String = \'12346789\'; trace(__str.replace(/\\/g, \'5\')); 答案是:不能.trace出来的结果为: [trace] 12346789 其实正则本身并没有写错,错在被替换的字符串.反斜杠“”在AS3中是转义符,会将其后的任何值转换为本身,因此看到的字符串其实本身就是12346789,也就是没有反斜杠,当然无法搜索到. 直接trace(__str),结果和上面的trace相

ActionScript3.0(AS3)中的泛型数组Vector

Adobe官方并没有"泛型数组"的叫法,这是我自己对Vector的叫法(有点标题党),不过Vector在使用上确实跟c#中的泛型数组有些相似之处. 原作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 我们知道:ActionScript3.0中的Array数组可以存放多种类型,甚至在同一个Array数组中,可以同时存入String,Object,Number...,但其实我们在实际开发中,通常一个数组中所保存的元素类型都是一致的,为了改进这种情况下的效率,AS

在as3中使用protobuf

在最近参与开发的adobe air项目中,前后端的通信协议从XML.JSON再到protobuf,最后选择protobuf原因,主要是前后端维护protobuf协议就行了,同时还可以利用IDE做一些编译检查.目前我能找到的protobuf as3开源库,都存在一些问题:不支持嵌套类,生成代码无法编译等等.于是花了一点时间,参考google protobuf相关说明,编写protobuf-as3以及protoc-as3,用于支持运行时及代码生成,https://github.com/zhongfq

as3中xml文件的加载和读取

---恢复内容开始--- as代码如下: xml如下: 总结: 用URLReuqest对象加载xml的url 创建一个URLLoader对象,将1中的URLRequest指定给他 给URLLoader添加COMPLETE的Event侦听 complete回调函数中,读取urlloader对象的data为xml xml.二级标签[index] //获取标签的innerhtml xml.二级标签[index][email protected]属性名 //获取属性值

as3 中 textfiled的htmltext 的常用属性

http://blog.sina.com.cn/s/blog_6d193c030100x6ud.html <a> 超链接标签 属性:href: 链接地址 target: 目标窗口 可取值为_blank,_parent,_self,_top. 例: my_txt.htmlText="<a href='http://www.blueidea.com' target='_self'>蓝色理想</a>" <b> 粗体标签 例: my_txt.ht

[ActionScript 3.0] AS3中的位图(BitmapData)应用

1.位图使用(模糊)滤镜 //创建一个矩形区域的BitmapData var bmd:BitmapData = new BitmapData(80, 30, false, 0xffffff); //画个红色的矩形 var rect:Rectangle = new Rectangle(20, 10, 40, 10); bmd.fillRect(rect, 0xFF0000); //找到红色矩形的右上顶点 var pt:Point = new Point(rect.left, rect.top);