Flex调用swf内方法

原文见:http://blog.csdn.net/genius840215/archive /2010/03/25/5411732.aspx

一般我们生成的swf有3种,一种是Flex mxml主应用编译得到,第2种类是用Flex SDK编译as类得到,还有一个就是fla在Flash CS3内运行生成。

因为第3种的调用方法同第2种,这里就说明前2种swf在Flex项目内的应用。

HelloWorld1.mxm

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"    
  3. layout="absolute" >  
  4.     <mx:Script>  
  5.         <!--[CDATA[  
  6.             public function sayHello():void{  
  7.                 trace("HelloWorld from mxml");  
  8.             }  
  9.         ]]-->  
  10.     </mx:Script>  
  11. </mx:Application>  
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > <mx:Script> <!--[CDATA[ public function sayHello():void{ trace("HelloWorld from mxml"); } ]]--> </mx:Script> </mx:Application>

HelloWorld2.as

  1. package {  
  2.     public   class  HellowWorld2{  
  3.         public   function  sayHello(): void {  
  4.             trace("HelloWorld from AS" );  
  5.         }  
  6.     }  
  7. }
app.mxml
  1. <? xml   version = "1.0"   encoding = "utf-8" ?>   
  2. < mx:Application   xmlns:mx = "http://www.adobe.com/2006/mxml"    layout = "absolute"   >   
  3.     < mx:Script >   
  4.         <!--[CDATA[  
  5.             public function CompleteHandler1(evt:Event):void{  
  6.                 Object(evt.target.content.application).sayHello();   //区别         
  7.             }  
  8.             public function CompleteHandler1(evt:Event):void{  
  9.                 Object(evt.target.content).sayHello();         //区别
  10.             }  
  11.         ]]-->   
  12.     </ mx:Script >   
  13.     < SWFLoader   id = "hw1"   source = "HelloWorld1.swf"   complete = "CompleteHandler1(event)" />   
  14.     < SWFLoader   id = "hw2"   source = "HelloWorld2.swf"   complete = "CompleteHandler2(event)" />   
  15. </ mx:Application >   
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > <mx:Script> <!--[CDATA[ public function CompleteHandler1(evt:Event):void{ Object(evt.target.content.application).sayHello(); } public function CompleteHandler1(evt:Event):void{ Object(evt.target.content).sayHello(); } ]]--> </mx:Script> <SWFLoader id="hw1" source="HelloWorld1.swf" complete="CompleteHandler1(event)"/> <SWFLoader id="hw2" source="HelloWorld2.swf" complete="CompleteHandler2(event)"/> </mx:Application>  

HelloWorld1.mxml和HelloWorld2.as分别用Flex SDK编译成swf,然后在app.mxml内调试。

可以看出第一种情况生成的swf因为是通过mxml生成的,e.target.content其实是一个SystemManager类对象,必须要 通过它的application才能访问swf内部方法,而用as类直接生成的swf通过e.target.content就能直接访问。

转载于:https://www.cnblogs.com/nianshi/archive/2010/05/13/1734253.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS Flex(弹性布局)是一种用于实现自适应布局的方法。它通过对父元素和子元素应用不同的属性来实现弹性布局。在弹性布局中,父元素通过设置display: flex属性来启用弹性布局,子元素则通过设置flex属性来实现自适应布局。 要使用弹性布局,首先需要在父元素上设置display: flex。这将使子元素沿着主轴(默认是水平方向)排列。可以使用flex-direction属性来控制主轴的方向,例如flex-direction: row表示水平方向,flex-direction: column表示垂直方向。 接下来,可以使用flex属性来控制子元素的自适应布局。flex属性由两部分组成,第一个数字表示flex-grow,第二个数字表示flex-shrink。flex-grow表示子元素在剩余空间分配中的占比,而flex-shrink表示子元素在空间不足时的缩小比例。例如,设置flex: 1;将使子元素等分剩余空间。 除了flex属性外,还可以使用其他CSS属性来进一步控制子元素的布局。通过设置justify-content属性可以控制子元素在主轴上的对齐方式,例如justify-content: center将使子元素居中对齐。通过设置align-items属性可以控制子元素在交叉轴上的对齐方式,例如align-items: flex-start将使子元素顶对齐。 另外,还可以通过设置flex-wrap属性来控制子元素的换行方式,如果子元素过多而超出了父元素的宽度,可以使用flex-wrap: wrap来使子元素自动换行。 CSS Flex的自适应布局方法灵活而强大,能够根据不同的需求实现各种自适应布局效果。通过灵活运用flex属性以及其他相关属性,可以轻松实现适应不同屏幕尺寸、内容量的布局。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值