Меню
Индекс

Требования к MPU

 
Описание MPU
Баннер MPU состоит из нескольких flash-роликов, один из которых мастер (master) управляет взаимодействием панелей (panel1, panel2, panel3, ..), и скрипта.
Мастер как правило не показывает сам баннер. Он загружается первым и ждёт, когда загрузятся панели. Всё взаимодействие панелей происходит только через мастер, относительно которого они позиционируются. Как только все панели загружены, вызывается функция, указанная при инициализации мастера. Эта функция запускает логический сценарий ролика. До этого момента и мастер и панели остановлены. В первом кадре панели проводится инициализация и отправка мастеру сообщения о том, что панель загружена и готова принимать команды. После этого панель останавливается. Панели взаимодействуют друг с другом только через мастера. Для этого используется команда sendSync (метка синхронизации). Диспетчер сценария мастера отслеживает команды от панелей и выполняет необходимые действия.
 
Другие используемые названия данного типа баннера: MPU, FlyScreen, OverLay.
 
Подготовка (для разработчиков)
Требования к среде разработки:
 
1. ActionScript 2.0 и выше;
 
Что необходимо подготовить:
 
графические файлы  — 200 Кб;
swf-файлы  — 200 Кб;
 
Подготовка flash-ролика на ActionScript 2.0
 
1 Мастер
 
Сохраните в одну папку файл master1.as и исходники мастера:
http://www.rontar.com/manuals/classes/MPUScripts.zip.
В первый фрейм мастера пропишите следующий ActionScript:
 
 
 
#include "master1.as"
 
function startScene(panel, sync) {
     switch (sync) {
       case "showPanel1" :
          showPanel("panel1");
          sendToPanel("panel1","go","start");
                  break;
       case "showPanel2" :
          showPanel("panel2");
          sendToPanel("panel2","go","start");
                  break;
 
       case "hidePanel1" :
          hidePanel("panel1");
                 break;
       case "hidePanel2" :
          hidePanel("panel2");
                 break;
          }
     }
 
function initDone() {
       showPanel("panel1");
       sendToPanel("panel1","go","start");
     }
 
registerMaster(initDone,startScene,["panel1", "panel2"]);
stop();
 
 
Описание:
·     function startScene(panel, sync) — диспетчер сценария. Реализует сценарий взаимодействия панелей.
·     function initDone() — выполняет первичную инициализацию ролика. Выполняется автоматически, когда все панели загружены.
Функции используют следующие команды:
o     sync — метка синхронизации, с помощью неё мастер получает отчёты от панелей. Панель, отправившая команду sync может остановиться, а может продолжать выполнение команд;
o     showPanel — открыть панель;
o     hidePanel — закрыть панель;
o     sendToPanel — отправить панели команду перейти к определённой метке;
·     registerMaster(initDone, startScene, ["panel1", "panel2"]) — регистрация мастера и ожидание подтверждения о загрузке панелей. В качестве аргументов указываются:
o     функция инициализации initDone;
o     функция диспетчера сценария startScene;
o     список панелей с идентификаторами ["panel1", "panel2"].
 
 
2 Панели
 
Сохраните в одну папку файл panels1.as и исходники всех панелей.
При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается прозрачным.
В первом кадре flash-ролика для панели пропишите команды:
 
 
#include "panels1.as"
 
registerPanel("panel1");     // регистрируем панель, сообщая мастеру её id
stop();                    // останавливаемся и ждем дальнейших команд от мастера
 
panel1 — это имя панели, которое указывается в script.js и в мастере для отправки команд этой панели. Панели должны называться "panel1", "panel2", "panel3" и т.д.
Для того, чтобы сообщить мастеру о том, что нужно переходить к следующему этапу, пропишите в нужном кадре панели следующий код:
 
_root.sendSync("hidePanel1");
_root.sendSync("showPanel2"); // перейти ко второй панели
stop();
 
 
Для того, чтобы определить, сколько раз за демонстрацию всего баннера могут появляться панели, в первом кадре мастера пропишите следующий код (изменения по сравнению с изначальным кодом выделены красным):
 
#include "master1.as"
 
_root.deb.text = "";
 
 var k=3; // количество показов
 var i=0;
 
function debug(txt){
    trace(txt);
    _root.deb.text += txt + "\n";    
}
function startScene(panel, sync){
     debug ("received: " + sync + " from: " + panel);
     switch (sync){
    case "showPanel2":           //пришла метка showPanel2
 
     if (i<k) {
          showPanel("panel2"); //показать второй элемент panel
          sendToPanel("panel2","go","start"); //просим второй элемент panel перейти к метке start
      }
      i++;
           break;
        case "playPanel1":
             sendToPanel("panel1", "go", "continue");
             break;
        case "hidePanel2":          //пришла метка hidePanel2
             hidePanel("panel2");     //прячем второй элемент panel
          break;
     }    
}
function initDone(){
       debug ("initDone");
 
     hidePanel("panel2");     //спрятать элемент panel2
     showPanel("panel1");     //открыть элемент panel1
     sendToPanel("panel1","go","start");     //просим первый элемент panel перейти к метке start.
}
registerMaster(initDone, startScene, ["panel1", "panel2"]);
stop(); //Останавливаемся и ждем, пока все панели загрузятся
 
Для учёта клика создайте в нужном кадре flash-ролика элемент Button, для которого напишите следующий код:
 
on (release) {
 _root.makeClick()
}
 
Эта функция может также использоваться с параметром — альтернативным адресом перехода: makeClick("http://www.example.com").
Подготовка баннера на AS3
 
1. Мастер
 
Сохраните в одну папку исходники всех flash-роликов и папку AS3, содержащую две библиотеки (masterAS3.as и panelsAS3.as).
В первый кадр мастера пропишите следующий ActionScript:
 
import rontar.masterAS3;
 
var my_rontar:masterAS3 = new masterAS3(this);
my_rontar.startScene = function(panel, sync){
     with(this){
          switch(sync){
               case "showPanel1":
                    showPanel("panel1");
                    sendToPanel("panel1", "go", "start");
                    break;
               case "showPanel2":
                    showPanel("panel2");
                    sendToPanel("panel2", "go", "start");
                    break;
               case "hidePanel1":
                    hidePanel("panel1");
                    break;
               case "hidePanel2":
                    hidePanel("panel2");
                    break;
          }
     }
}
my_rontar.initDone = function(){
     with(this){
          showPanel("panel1");
          sendToPanel("panel1", "go", "start");
     }
}
 
Описание:
·     function startScene(panel, sync) — диспетчер сценария. Реализует сценарий взаимодействия панелей.
·     function initDone() — выполняет первичную инициализацию ролика. Выполняется автоматически, когда все панели загружены.
Функции используют следующие команды:
o     sync — метка синхронизации, с помощью неё мастер получает отчёты от панелей. Панель, отправившая команду sync может остановиться, а может продолжать выполнение команд;
o     showPanel — открыть панель;
o     hidePanel — закрыть панель;
o     sendToPanel — отправить панели команду перейти к определённой метке;
 
Для создания собственного сценария взаимодействия панелей, используйте команды showPanel, hidePanel, sendToPanel.
 
2. Панели
 
При начальной загрузке панелей слои, в которые они загружены, открыты (значение visible), поэтому первый кадр панели обычно делается прозрачным.
В flash-ролике для панели пропишите команды:
 
import rontar.panelsAS3;
var my_rontar:panelsAS3 = new panelsAS3('panel1', this);
stop();
 
 
panel1 — это имя панели, которое указывается в script.js и в мастере для отправки команд этой панели. Панели должны называться "panel1", "panel2", "panel3" и т.д.
В панелях вызов команд осуществляется следующим образом:
 
my_rontar.sendSync("showPanel2");
 
Для учёта клика создайте в нужном кадре flash-ролика элемент Button, для которого напишите следующий код:
 
function cl(event:MouseEvent):void {
      my_rontar.makeClick();
}
_click.addEventListener(MouseEvent.CLICK, cl);
 
 
Добавление в Rontar
 
При добавлении баннера MPU выберите тип баннера " MPU ". Укажите следующие параметры:
 
1. Ссылка переходаполная ссылка (включая http://) для перехода на сайт рекламодателя.
 
2. Flash-ролик мастер — основной flash-ролик.
 
3. Картинка-заглушка — изображение для показа пользователям без установленного flash-плагина.
 
4. Ширина мастер-панели — высота баннера в пикселях .
 
5. Высота мастер-панели — высота баннера в пикселях.
 
6. Прикрепить панели к —выбрать нужный угол.
 
7. Альтернативная ссылка перехода по заглушке – ссылка перехода по заглушке.
 
8. Flash-ролик 1 — загрузите 1 flash-ролик.
 
9. Ширина flash-ролика1 — по умолчанию - 100%.
 
10. Высота flash-ролика1 — по умолчанию - 100%.
 
11. Адрес стороннего счетчика — внешний проверочный zero-пиксель.
 
12. Открывать в новом окне – открытие целевой ссылки в новом или текущем окне. Flash-баннер должен поддерживать параметр FlashVars target.
 
Внимание! Ссылка перехода и flash-ролик обязательные поля.