解決Flash CS4動態檔超連結的問題
 
聯絡我們
會員登錄
購物車


首頁 書籤 最新訊息 其他
IT辭典 IT技術動向 IT和經營結合 系統導入 系統基盤建置 系統營運管理
張士超
東京工業大學經營工學科畢。現任IT綜合情報網編輯。

解決Flash CS4動態檔超連結的問題

最近嘗試使用FLASH CS4 Professional製作動態的廣告旗幟,並且希望滑鼠點選廣告旗幟後能夠連結到其他的網頁。參考多本有關Flash CS4的書籍所敘述的方式,都無法順利連結並且產生「1087: Syntax error: extra characters found after end of program.」的錯誤訊息。

到國外網站搜尋了一下,發現Action3.0的版本已不對應「getURL」,改由「URLRequest」類別(Class)指定URL,再透過「navigateToURL(url)」類別(Class)連結到指定的URL。實際的語法如下:

//首先定義滑鼠的事件(Event)

stage.addEventListener( MouseEvent.CLICK , onClick );

//接下來定義使用滑鼠點選(onClick)舞台(stage)後的動作

function onClick ( event:MouseEvent ) {

//設定「URLRequest」

var url:URLRequest = new URLRequest( "http://f-site.org/" );

//實際的連結

navigateToURL( url );

}

我們可以新增的一個圖層(Layer)來定義上述的ActionScript文稿程式。如下圖所示,先新增一個名稱為「actions」的圖層,在新增圖層的影格上按下滑鼠右鍵,點選「動作(actions)」的選單,接下來就在出現「動作(actions)」的編輯畫面上,輸入上述的ActionScript文稿程式即可。定義完成後,「actions」圖層的影格上會出現小寫的「a」。


圖1:新增ActionScript文稿程式

滑鼠事件(Event)的範圍如果不是整體的舞台(Stage),只是舞台某一個圖像或文字時,必須先將該圖像或文字轉換成「按鈕」等元件後(如左下圖,將滑鼠移至圖形後按下右鍵,選擇「轉換成元件...」(Convert to symbol...)的選單),定義該元件屬性(Properties)的「實體名稱(instance name)」(如右下圖,定義為「MyButton」)。最後以定義完成的「實體名稱(instance name)」的滑鼠事件取代Stage的滑鼠事件,重新發佈動態檔。

 
圖2:新增超連結的元件

stage.addEventListener( MouseEvent.CLICK , onClick );

MyButton.addEventListener( MouseEvent.CLICK , onClick );


top