2010-03-19 34 views
1

我使用SlideShowPro與Flash AS3修改SlidesShowPro圖像數據和我有以下代碼:如何使用Flash的ActionScript3

function onSlideShowClick(event:SSPImageEvent) { 
    if (event.type == "imageClick") { 
    // modify the link for when the image is clicked. 
    } 
} 

如何修改鏈接被點擊圖像時?這可以在這裏完成嗎?別處?

回答

0

我最終從API文檔中找到了一些幫助。

public function onSlideShowData(event:SSPDataEvent):void { 
    if (event.type == "imageData") { 
    // Modify the image link. 
    event.data.link = "http://somedomain.com/?url=" + escape(event.data.link); 
    } 
} 
my_ssp.addEventListener(SSPDataEvent.IMAGE_DATA, onSlideShowData); 

參考API文檔:http://wiki.slideshowpro.net/SSPfl/API-AS3Event-imageData

+0

非常酷,很高興你找到你的解決方案 – jessegavin 2010-03-19 21:19:58

1

你可以嘗試讓這樣的事情一掄......

var currentLink:String = ""; 

function onSlideShowData(event:SSPDataEvent) { 
    currentLink = event.link; 
} 
my_ssp.addEventListener(SSPDataEvent.IMAGE_DATA, onSlideShowData); 

function onSlideShowClick(event:SSPImageEvent) { 
    if (event.type == "imageClick") { 

    // Alter the image link 
    currentLink = currentLink + "?someparam=somevalue"; 

    // Send the user to the altered url. 
    flash.net.navigateToURL(currentLink); 
    } 
} 
my_ssp.addEventListener(SSPImageEvent.IMAGE_CLICK, onSlideShowClick); 

它基本上存儲當前link(假設你defined one in the xml)爲變量每當圖像變化。然後,當您點擊圖片時,只需使用標準navigateToUrl()方法。

現在,我有一些懷疑,這將工作,因爲你不能從處理函數中取消SSPImageEvent,因此我認爲SSP將只激發在xml中定義的任何函數的navigateToURL()函數你的處理程序執行後。但試試看吧。

+0

我正在尋找一種方法以編程方式改變目標URL。 – jwhat 2010-03-19 18:24:09

+0

我剛更新了我的答案。它理論上應該允許你這樣做,但我不確定它是否會起作用。 – jessegavin 2010-03-19 18:34:43

+0

謝謝jessegavin,你的例子告訴我,我應該看看onSlideShowData而不是onSlideShowClick。 – jwhat 2010-03-19 19:12:02

相關問題