2015-02-12 4 views
0

Как я могу гарантировать, что 3 баннера (2 небоскреба и 1 панель лидеров) будут воспроизводиться одновременно, когда они появятся на веб-странице? Мне нужно отправить файлы на сторонний сайт, на котором будут размещаться баннеры.Синхронизация Flash-баннеров as3

Должен ли я иметь рекламный код для каждого файла баннера - или рекламные блоки делают что-то их конец?

Я использую as3, и любая помощь оценивается простыми словами, поскольку я не мастер кода! Большое спасибо. Mike

ответ

1

Вы можете сделать это, используя класс ExternalInterface в AS3 и JavaScript на странице объявления. Поэтому ему необходимо сотрудничество с хостером.

Ваши баннеры должны иметь две функции:

function reportReady():void { 
    // here you report ready by calling JS-side function via ExternalInterface 
    // you also have to report banner ID, 
    // so use banner1, banner2, etc. for different banners 
    ExternalInterface.call("reportReady", "banner1"); 
} 

function startAnimation():void { 
    // here you start animation, and don't forget to stop calling reportReady() 
} 

// also you need to register a callback to hear calls from JS 
ExternalInterface.addCallback("startAnimation", startAnimation); 

теперь имеют reportReady функция непрерывно вызывается с некоторым интервалом, скажем, 1/10 с. Но убедитесь, что он начинает звонить только после того, как баннер закончил загрузку. Это все, что вам нужно в AS3.

Теперь часть JS. В коде страницы, вам нужна функция JS и держатель для трех баннеров государства:

var banner_list = [false, false, false]; 

function reportReady(banner_id) { 
    // some very basic code to determine which banner called 
    if (banner_id == "banner1") banner_list[0] = true; 
    else if (banner_id == "banner2") banner_list[1] = true; 
    else if (banner_id == "banner3") banner_list[2] = true; 
    // now check if all three banners have reported, also very basic code 
    if (banner_list[0] && banner_list[1] && banner_list[2]) { 
     // activate all banners here using their ids 
     document["banner1"].startAnimation(); 
     document["banner2"].startAnimation(); 
     document["banner3"].startAnimation(); 
    } 
} 

«banner1», «banner2» и «banner3» являются идентификаторы ваших объектов флэша в HTML.

Если у вас возникли проблемы, прочитайте о ExternalInterface, в Интернете есть много информации и примеров.

Смежные вопросы