Урок: работа с методами контейнера на AS2

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!

Урок: работа с методами контейнера на AS2

Сообщение s(ript » 03 янв 2011, 11:15

Здравствуйте, на ЭТОМ форуме я новенький решил создать урок по методам контейнера, т.к. сам с этим столкнулся.
Для использования методов контейнера на АS2 я пользовался классом ApiConnection.as
сам класс называем ApiConnection.as и ложим рядом с вашим *.fla файлом
Ниже - сам класс:
  1. class APIConnection
  2. {
  3.     var conName, isCon, localCon, main, onError;
  4.     function APIConnection(conName)
  5.     {
  6.         this.conName = conName;
  7.         isCon = false;
  8.         localCon = new LocalConnection();
  9.         localCon.allowDomain = function (sendingDomain)
  10.         {
  11.             return (true);
  12.         };
  13.         localCon.main = this;
  14.         localCon.onWindowBlur = function ()
  15.         {
  16.             main.onWindowBlur();
  17.         };
  18.         localCon.onWindowFocus = function ()
  19.         {
  20.             main.onWindowFocus();
  21.         };
  22.         localCon.onBalanceChanged = function (balance)
  23.         {
  24.             main.onBalanceChanged(parseInt(balance));
  25.         };
  26.         localCon.onSettingsChanged = function (settings)
  27.         {
  28.             main.onSettingsChanged(parseInt(settings));
  29.         };
  30.         localCon.onApplicationAdded = function ()
  31.         {
  32.             main.onApplicationAdded();
  33.         };
  34.         localCon.onStatus = function (loaded)
  35.         {
  36.             if (loaded.level == "status")
  37.             {
  38.                 if (!main.isCon)
  39.                 {
  40.                     main.isCon = true;
  41.                     main.onInit();
  42.                 }
  43.                 else
  44.                 {
  45.                     main.onMethod();
  46.                 }
  47.             }
  48.             else if (!main.isCon)
  49.             {
  50.                 main.onError(1);
  51.             }
  52.             else
  53.             {
  54.                 main.onError(2);
  55.             }
  56.         };
  57.     }
  58.     function startConnection()
  59.     {
  60.         if (!isCon)
  61.         {
  62.             localCon.connect("_out_" + conName);
  63.             localCon.send("_in_" + conName, "initConnection");
  64.             return (true);
  65.         }
  66.         else
  67.         {
  68.             return (false);
  69.         }
  70.     }
  71.     function showInstallBox()
  72.     {
  73.         this.sendMethod(new Array("showInstallBox"));
  74.     }
  75.     function showSettingsBox(settings)
  76.     {
  77.         this.sendMethod(new Array("showSettingsBox", settings.toString()));
  78.     }
  79.     function showInviteBox()
  80.     {
  81.         this.sendMethod(new Array("showInviteBox"));
  82.     }
  83.     function showPaymentBox(votes)
  84.     {
  85.         this.sendMethod(new Array("showPaymentBox", votes.toString()));
  86.     }
  87.     function sendMethod(paramsArr)
  88.     {
  89.         if (isCon)
  90.         {
  91.             if (paramsArr.length == 1)
  92.             {
  93.                 localCon.send("_in_" + conName, paramsArr[0]);
  94.            }
  95.            else if (paramsArr.length == 2)
  96.            {
  97.                localCon.send("_in_" + conName, paramsArr[0], paramsArr[1]);
  98.            }
  99.            else
  100.            {
  101.                this.onError(3);
  102.            }
  103.        }
  104.        else
  105.    ;    {
  106.            this.onError(4);
  107.        }
  108.    }
  109. }
  110.  
  111.  

Для использования класса необходимо инициализировать его - в первом фрейме пишем:
  1.  
  2. var apiCon = new APIConnection(_root.lc_name);
  3. apiCon.startConnection();
  4. apiCon.onInit = function ()//это необходимо если надо выполнить метод сразу после инициализации
  5. {
  6.     apiCon.showInstallBox();
  7.     apiCon.onApplicationAdded = function ()
  8.     {
  9. trace("Приложение было только что добавлено");
  10.     };
  11. };

В панели Actions кнопкам можем присваивать скрипты:
  1.  
  2. on(Release)
  3. {
  4. apiCon.Show(Здесь название метода контейнера)
  5. }

За это сообщение автора s(ript поблагодарил:
z1o
Аватара пользователя
s(ript

 
Автор темы
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55
Благодарил (а): 1 раз.
Поблагодарили: 3 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 



Re: Урок: работа с методами контейнера на AS2

Сообщение bigest » 03 янв 2011, 12:24

s(ript,ICQ 587502227 стукни плз.

Нужно помочь с исходником а то я начинающий =( :cry:
bigest

 
Сообщения: 18
Зарегистрирован: 02 янв 2011, 23:11
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение s(ript » 03 янв 2011, 14:38

Ребята, таким образом можно вызывать всплывающие окна типа 'для продолжения работы приложения необходимо добавить его на свою страницу' или 'приложение просит вас внести голоса' а также обрабатывать события, которые произошли в результате этих окон

За это сообщение автора s(ript поблагодарил:
z1o
Аватара пользователя
s(ript

 
Автор темы
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55
Благодарил (а): 1 раз.
Поблагодарили: 3 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение andi122 » 12 апр 2011, 15:21

не совсем мне понятно(
Куда заливать этот .as файл?
Когда я заливаю приложение, у меня нет возможности загружать ничего кроме .swf файлов.
Или я совсем ничего не понял?
andi122

 
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение bodnar » 12 апр 2011, 15:59

as это исходный код, текстовый файл, который при компиляции переводится в байт-код swf файла
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41
Благодарил (а): 16 раз.
Поблагодарили: 185 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение andi122 » 12 апр 2011, 17:22

Просто может тогда надо делать как-то публикацию свф-ки не как обычно?
Такая мысль возникает потому, что я на выходе получаю свф-ку, которую если преобразовать (например Сотником) обратно во фла, то этот .as файл не появляется. И код из него тоже нигде не отображается...
Да, и попробовал залить такую свф-ку во вконтакт, и она вроде как не работает
andi122

 
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение andi122 » 12 апр 2011, 18:30

вобщем, я нашел ошибку у себя - учитывается регистр в имени файла с классом. У меня там был неправильно назван .as файл.
Но теперь выдается куча ошибок в файле APIConnection.as...
То скобка лишняя, то ее нехватает... Вобщем завтра буду еще разбираться... Плохо, когда мало знаешь(
andi122

 
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:45
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Урок: работа с методами контейнера на AS2

Сообщение s(ript » 08 июн 2011, 12:48

В настройках поставь action script 2.0, наверняка у тебя стоял 1.0
Аватара пользователя
s(ript

 
Автор темы
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55
Благодарил (а): 1 раз.
Поблагодарили: 3 раз.


Вернуться в Уроки по использованию ВКонтакте API



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0