一些常用的AS3代码[转]

本文总结了多个Flash开发实用技巧,包括确保外部JS接口可用、BitmapData初始化、网络加载错误处理等,并详细介绍了如何设置安全沙箱策略文件及实现事件监听自删除等功能。

确保外部js接口可用:

if (ExternalInterface.available) {

    ExternalInterface.xxx

}

---------------------------------------------------------

确保BitmapData初始化成功:

try {

    //init Bitmapdata

} catch (e:ArgumentError) {

}

--------------------------------------------------------

网络加载出错分支处理:

var _urlLoader:URLLoader = new URLLoader();

_urlLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);

try {

    _urlLoader.load(new URLRequest(""));

} catch (e:Error) {

}

-------------------------------------------------------

安全沙箱加载策略文件:

var _loader:Loader = new Loader();

_loader.load(new URLRequest(""),new LoaderContext(true));

-------------------------------------------------------

注册外部容器,通过事件冒泡获得内部引用:

var _container:DisplayObjectContainer;

var obj1:DisplayObject;......and many

addChild(obj1);.....and many

_container.addEventListener(MouseEvent.CLICK,onClickHandler,true);

function onClickHandler(e:MouseEvent):void {

    var obj:DisplayObject = e.target as DisplayObject; //obj...

}

-------------------------------------------------------

事件监听自删除:

obj.addEventListener(MouseEvent.CLICK,onClickHandler);

function onClickHandler(e:MouseEvent):void {

    e.currentTarget.removeEventListener(e.type, arguments.callee);

}

--------------------------------------------------------

Math函数替换:

Math.abs; ---> num > 0 ? num : -num;

Math.floor; ---> int(num) or num>>0;

Math.ceil; ---> int(num) + 1 or num>>0 + 1;

Math.max: ---> num = a > b ? a : b;

Math.min: ---> num = a > b ? b : a;

Math.round: ---> int(num + 0.5) or (num + 0.5)>>0;

 

1,获取flashvars:

var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
if (paramObj["xxxxx"]) xxxxx= encodeURIComponent(paramObj["xxxxx"]);

2,Security.allowDomain的作用:

允许某域名下js或swf或anything else,访问该swf内部的函数和方法。

3,allowScriptAccess

有always,sameDomain,never三个值~定义了swf是否能够访问页面的javascript代码,决定了ExternalInterface.call之类的方法是否能访问成功。

 

原帖地址:

http://hi.baidu.com/dannyfd/blog/item/fa0c791a0664e84b42a9ad69.html

http://hi.baidu.com/dannyfd/blog/item/065ab98eff303800b31bbad3.html

转载于:https://www.cnblogs.com/beiming/archive/2011/01/17/1937490.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值