Как изменить данные изображения в SlidesShowPro с помощью Flash ActionScript3 - PullRequest
1 голос
/ 19 марта 2010

Я использую SlideShowPro с Flash AS3, и у меня есть следующий код:

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

Как я могу изменить ссылку, когда изображение нажимается? Это можно сделать здесь? В другом месте?

Ответы [ 2 ]

1 голос
/ 19 марта 2010

Вы могли бы попробовать дать что-то вроде этого вихря ...

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 из функции-обработчика, и поэтому я думаю, что SSP просто запустит функцию navigateToURL() на том, что было определено XML сразу после выполнения вашего обработчика. Но попробуйте.

0 голосов
/ 19 марта 2010

В итоге я понял это с помощью документации по 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

...