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

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!
Ответить
Аватара пользователя
s(ript
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55

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

Сообщение s(ript »

Здравствуйте, на ЭТОМ форуме я новенький решил создать урок по методам контейнера, т.к. сам с этим столкнулся.
Для использования методов контейнера на АS2 я пользовался классом ApiConnection.as
сам класс называем ApiConnection.as и ложим рядом с вашим *.fla файлом
Ниже - сам класс:

Код: Выделить всё

class APIConnection{    var conName, isCon, localCon, main, onError;    function APIConnection(conName)    {        this.conName = conName;        isCon = false;        localCon = new LocalConnection();        localCon.allowDomain = function (sendingDomain)        {            return (true);        };        localCon.main = this;        localCon.onWindowBlur = function ()        {            main.onWindowBlur();        };        localCon.onWindowFocus = function ()        {            main.onWindowFocus();        };        localCon.onBalanceChanged = function (balance)        {            main.onBalanceChanged(parseInt(balance));        };        localCon.onSettingsChanged = function (settings)        {            main.onSettingsChanged(parseInt(settings));        };        localCon.onApplicationAdded = function ()        {            main.onApplicationAdded();        };        localCon.onStatus = function (loaded)        {            if (loaded.level == "status")            {                if (!main.isCon)                {                    main.isCon = true;                    main.onInit();                }                else                {                    main.onMethod();                }            }            else if (!main.isCon)            {                main.onError(1);            }            else            {                main.onError(2);            }        };    }    function startConnection()    {        if (!isCon)        {            localCon.connect("_out_" + conName);            localCon.send("_in_" + conName, "initConnection");            return (true);        }        else        {            return (false);        }    }    function showInstallBox()    {        this.sendMethod(new Array("showInstallBox"));    }    function showSettingsBox(settings)    {        this.sendMethod(new Array("showSettingsBox", settings.toString()));    }    function showInviteBox()    {        this.sendMethod(new Array("showInviteBox"));    }    function showPaymentBox(votes)    {        this.sendMethod(new Array("showPaymentBox", votes.toString()));    }    function sendMethod(paramsArr)    {        if (isCon)        {            if (paramsArr.length == 1)            {                localCon.send("_in_" + conName, paramsArr[0]);            }            else if (paramsArr.length == 2)            {                localCon.send("_in_" + conName, paramsArr[0], paramsArr[1]);            }            else            {                this.onError(3);            }        }        else    ;    {            this.onError(4);        }    }}  
Для использования класса необходимо инициализировать его - в первом фрейме пишем:

Код: Выделить всё

 var apiCon = new APIConnection(_root.lc_name);apiCon.startConnection();apiCon.onInit = function ()//это необходимо если надо выполнить метод сразу после инициализации{    apiCon.showInstallBox();    apiCon.onApplicationAdded = function ()    {trace("Приложение было только что добавлено");    };};
В панели Actions кнопкам можем присваивать скрипты:

Код: Выделить всё

 on(Release){apiCon.Show(Здесь название метода контейнера)}
bigest
Сообщения: 18
Зарегистрирован: 02 янв 2011, 23:11

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

Сообщение bigest »

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

Нужно помочь с исходником а то я начинающий =( :cry:
Аватара пользователя
s(ript
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55

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

Сообщение s(ript »

Ребята, таким образом можно вызывать всплывающие окна типа 'для продолжения работы приложения необходимо добавить его на свою страницу' или 'приложение просит вас внести голоса' а также обрабатывать события, которые произошли в результате этих окон
andi122
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:45

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

Сообщение andi122 »

не совсем мне понятно(
Куда заливать этот .as файл?
Когда я заливаю приложение, у меня нет возможности загружать ничего кроме .swf файлов.
Или я совсем ничего не понял?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

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

Сообщение bodnar »

as это исходный код, текстовый файл, который при компиляции переводится в байт-код swf файла
andi122
Сообщения: 3
Зарегистрирован: 12 апр 2011, 10:45

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

Сообщение andi122 »

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

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

Сообщение andi122 »

вобщем, я нашел ошибку у себя - учитывается регистр в имени файла с классом. У меня там был неправильно назван .as файл.
Но теперь выдается куча ошибок в файле APIConnection.as...
То скобка лишняя, то ее нехватает... Вобщем завтра буду еще разбираться... Плохо, когда мало знаешь(
Аватара пользователя
s(ript
Сообщения: 5
Зарегистрирован: 01 янв 2011, 22:55

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

Сообщение s(ript »

В настройках поставь action script 2.0, наверняка у тебя стоял 1.0
Ответить