(2011-12-29 旧博文搬运)as3笔记

1、stage.loaderInfo.url

这玩意将返回一个当前swf所在的路径的字符串,如果你做了一个flash,放在自己的网站上,而且不希望这个flash在自己网站以外的地方被播放,那么可以在初始化程序的时候写这样一句话:

if(String(stage.loaderInfo.url).indexOf("yourdomain.com") == -1){

     trace("不在指定的位置运行,程序将退出");

     //写一些退出程序的代码,fscommand或者return之类的,结束程序运行

}

 

(strage.loaderInfo还有一个重要的属性是parameters[paramString],用来获取网页传递给他的值)

 

2、stage.width/height 返回的是stage的子对象们占用的区域

     stage.stageWidth/stageHeight 返回的是stage自己的实际尺寸

 

3、事件侦听器函数的写法

    一般一直都是这样写的:

   something.addEventListener(Event.SOME_EVENT,listenerFunction);

   然后在别处定义这个函数:

   private function listenerFunction(e:Event):void{

    doSomething;

   }

还有一种更简单的写法:

   something.addEventListener(Event.SOME_EVENT,

                                                     function(e:Event):void{

                                                         doSomething;

                                                      }

                                                   );

这样写其实就是写了一个内嵌函数,它有一个好处可以获取当前作用域里的临时变量。

举个例子,比如我在某个游戏里生成了一道火光、一发子弹,然后定义了他们在需要消失的时候发出一个事件,告诉程序自己的动画已经播放完毕或者已经飞到舞台外面,程序侦听这个事件来对他们以及伴随他们的声音进行垃圾回收,但是火光和子弹都是某个函数作用域中的临时变量,无法在外部获取他们,则可以直接在写addEventListener的时候把垃圾回收的函数写进去。如果觉得这样写比较混淆,那就写成内嵌函数也可。

 

4、flash内嵌并读取纯文本文档(中文)

第一步:[Embed(source="路径",mimeType="application/octet-stream")]

             private var TextContent:Class;

第二部:var txt:ByteArray = new TextContent();

              var txtString:String = String(txt.readMultiByte(txt.length,"MS-DOS"));

readMultiByte的第二个参数是对应文本的编码方式,如utf-8等,不明的文档可以用word来查看它的编码。

 

5、用字符串获取一个对象的方法

getChildByName(对象名)  as   具体的类型     

它返回类型为DisplayObject,实际使用时用as转换到自己需要的类

如果要获取的不是一个显示元素,而是一个类属性或者变量,可以用this["变量名"]的方法,其作用相当于this.变量名,但是前者是用字符串实现,而字符串可以用其他字符串变量来替代,起到一个动态改变的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值