關於Actionscript 3中給Flash傳參數方法(一)

來源:互聯網
上載者:User
    關於Actionscript 3中給Flash傳參數方法(一)

今天在測試一個為Audi做Flash AD的時候,發現Audi提供的clicktag是Actionscript 2的代碼,在Actionscript 3中是不被支援的,所以有去翻了Adobe Docs了。

在2.0中的clicktag代碼如下:

 On(Release) = {<br /> getURL(_root.clicktag, "_blank");<br />}

在3.0中是不支援_root的,並且事件函數也不是這樣寫的。自己做了個測試swf,簡單代碼如下:

//<br />// test.as<br />//<br />// Written by Leezhm, 26th February, 2009<br />// Contact : Leezhm@126.com<br />// Last Modified by Leezhm on 26th Feb, 2009<br />//<br />package<br />{<br />import flash.display.Sprite;<br />import flash.display.SimpleButton;<br />import flash.events.Event;<br />import flash.events.MouseEvent;<br />import flash.text.TextField;<br />import flash.net.URLRequest;<br />import flash.net.navigateToURL;</p><p>public class test extends Sprite<br />{<br />public function test():void<br />{<br />this.addEventListener(Event.ENTER_FRAME, OnEnterFrame);<br />this.btnLink.addEventListener(MouseEvent.CLICK, OnBtnClick);<br />}</p><p>private function OnEnterFrame(evt:Event):void<br />{<br />if("" != root.loaderInfo.parameters.clicktag)<br />{<br />this.txt.text = root.loaderInfo.parameters.clicktag;<br />}<br />}</p><p>private function OnBtnClick(evt:MouseEvent):void<br />{<br />var _request:URLRequest = new URLRequest(root.loaderInfo.parameters.clicktag);<br />navigateToURL(_request, "_blank");<br />}<br />}<br />}

 

很明顯,_root.clicktag在Actionscript 3中是用root.loaderInfo.parameters.clicktag來代替,關於loaderInfo.parameters可以參考flash.display.loaderInfo類的parameters屬性。而且也用flash.net包中的頂級函數navigateToURL代替了getURL,但是要傳入一個URLRequest的參數。注意:由於flash player安全性的問題這樣彈出的視窗可能被阻止。具體可見Adobe Docs的如下:

 

最後傳上測試效果(在公司的主站上測試,由於安全性問題,對圖片中顯示的URL和公司Logo進行了處理)

 

我們在swf後輸入了?clicktag=http://www.google.com。其中?是給flash傳參數的標識符,一定不能丟。clicktag是參數名,後面google的網站就是傳進去的參數。點擊下面紅色的button會連結到google的主站。

 

 

好了,其實在網頁中傳遞參數的方法很多,大家可以自己去百度,也可以看看google的clicktag。

 

BTW:給大家一個clicktag的測試網站,俺Manager發給我的,很好,可以先測試。

          http://www.bannerflow.com/clicktest/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.