如何使用Flash ActionScript 3修改SlideshowPro中的图像数据

时间:2010-03-19 18:12:19

标签: flash actionscript-3 slideshow

我在Flash AS3中使用SlideShowPro,我有以下代码:

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

如何修改单击图像时的链接?可以在这做吗?别处?

2 个答案:

答案 0 :(得分: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只会触发navigateToURL()函数在处理程序执行后立即在xml中定义的内容。但试一试。

答案 1 :(得分: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