我正在使用带有 Flash AS3 的 SlideShowPro,并且我有以下代码:
function onSlideShowClick(event:SSPImageEvent) {
if (event.type == "imageClick") {
// modify the link for when the image is clicked.
}
}
单击图像时如何修改链接?可以在这里做吗?别处?
我正在使用带有 Flash AS3 的 SlideShowPro,并且我有以下代码:
function onSlideShowClick(event:SSPImageEvent) {
if (event.type == "imageClick") {
// modify the link for when the image is clicked.
}
}
单击图像时如何修改链接?可以在这里做吗?别处?
你可以试试这样的事情......
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
(假设您在 xml 中定义一个)存储到一个变量中。然后,当您单击图像时,它仅使用标准navigateToUrl()
方法。
现在,我怀疑这会起作用,因为您无法SSPImageEvent
在处理程序函数中取消 from,因此我认为 SSP 只会navigateToURL()
在处理程序执行后立即在 xml 中定义的任何内容上触发该函数。但是试一试。
我最终在 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