一些常用的AS3代碼

來源:互聯網
上載者:User

確保外部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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.