Страница 1 из 4

Flash контейнер

Добавлено: 11 мар 2010, 17:08
lewka151
Доброго времени суток!решил написать немного о flash контейнере) не судите строго, сам программировать начал не так давно)
ну в начале подготовим наше приложение к внедрению в контейнер. думаю все понимают, что кода мы включаем в настройках контейнер, то само приложение подгружается в этот контейнер и выводится в нем на серой сцене)). чем он лучше? да тем что не надо будет производить многие расчеты api.vkontakte, они все уже расчитаны в контейнере, да и появляется возможность вызовов внешних окон.
ну так, создам новый as3 документ, создаем слой, например, с названием wrapper и в первом кадре пишем:

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

 var wrapper: Object;this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);function onAddedToStage(e: Event): void {   Security.allowDomain("*");   stage.dispatchEvent(new Event(Event.DEACTIVATE));   stage.dispatchEvent(new Event(Event.ACTIVATE)); //эта функция снимает все минусы с контейнера   wrapper = Object(this.parent.parent);   wrapper.external.showInstallBox();//вызов окна установки   wrapper.external.setTitle("Сервис"); // Слово  "Сервис" будет видно в окне браузера на верху   s3.text = wrapper.application.parameters.viewer_id;    if (wrapper.application.parameters.is_app_user == 1) {   //какие действия произойдут если приложение установленно   }else{    //какие действия произойдут если приложение не установленно                                                                            }   wrapper.addEventListener('onApplicationAdded', function(e: Object): void {   });}  
кстати, при использовании контейнера елемент stage не доступен, но функция:

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

   Security.allowDomain("*");   stage.dispatchEvent(new Event(Event.DEACTIVATE));   stage.dispatchEvent(new Event(Event.ACTIVATE)); 
разрешает проблему. теперь все что не работало в контейнере снова работает.))

Для того чтобы обращаться к обычным методам api, используйте

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

wrapper.application.parameters.ИМЯ_СТАНДАРТНОГО_ПАРАМЕТРА
Для того чтобы, например, вызвать окно пополнения баланса с текстом: приложение просит вас внести XX голосов, делаем следущее: создаем кнопку с названием btn_plat, размещаем ее на сцене и в слое OkHa пишем:

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

btn_plat.addEventListener(MouseEvent.CLICK, Paymen);function Paymen(e:event):void{wrapper.external.showPaymentBox(5); //просим внести 5голосов}
Ну а о всем остальном теперь будет понятно)просто заходим на http://vkontakte.ru/page6808516 и читаем название методов, их параметры и т.д., ну а как их использовать мы уже научились))))

Re: Flash контейнер

Добавлено: 11 мар 2010, 17:36
Twist4
Ты чуть тупанул)
В конце вместо

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

wrapper.external.showInviteBox(5); //просим внести 5голосов
Нужно

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

wrapper.external.showPaymentBox(5); //просим внести 5голосов
=)

Re: Flash контейнер

Добавлено: 11 мар 2010, 17:38
lewka151
ой, сори, ошибся))исправлю)

Re: Flash контейнер

Добавлено: 11 мар 2010, 17:46
Twist4
А как вызывать GUI-компоненты не подскажешь? А то я долго уже с этим мучаюсь)

Re: Flash контейнер

Добавлено: 11 мар 2010, 22:05
lewka151
Twist4 писал(а):А как вызывать GUI-компоненты не подскажешь? А то я долго уже с этим мучаюсь)
хмм...этого я не знаю(( но думаю эти библиотеки и группы могут помочь:
1.http://vkontakte.ru/club10009135
2.http://vkontakte.ru/club13587210
3.http://vkontakte.ru/club2226515

вторая группа самое то

и кстати провожу набор в группу разработчиков: http://vkontakte.ru/club15506344 (открыта)

Re: Flash контейнер

Добавлено: 21 мар 2010, 15:40
psix55
Может кто0нить дать исходник:
Вывод имени и фамилии в контейнере???
Просто я только начал использовать контейнер!

Re: Flash контейнер

Добавлено: 21 мар 2010, 17:53
lewka151
это не сложно, просто добавь в своем приложении в начале пустой кадр и напиши в нем:

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

var wrapper: Object;
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
function onAddedToStage(e: Event): void {
   Security.allowDomain("*");
   stage.dispatchEvent(new Event(Event.DEACTIVATE));
   stage.dispatchEvent(new Event(Event.ACTIVATE));
   wrapper = Object(this.parent.parent);
   gotoAndStop(2);
   wrapper.addEventListener('onApplicationAdded', function(e: Object): void {
   });
}
а в остальных кадрах пиши код с урока Александра, изменив его код, сделав из пакета обычный скрипт.

Re: Flash контейнер

Добавлено: 21 мар 2010, 18:05
psix55
Error #2044: Необработанный IOErrorEvent:. text=Error #2035: URL-адрес не обнаружен.


это если включить контейнер в настройках!(если не включать, то работает!)

Кстати у тебя ошибка!

надо не gotoAndSop(2); , а gotoAndStop(2);
Я думаю у тя просто клава не сработала :D

Re: Flash контейнер

Добавлено: 21 мар 2010, 18:20
psix55

Re: Flash контейнер

Добавлено: 21 мар 2010, 18:56
lewka151
Точно)))))
исправлю))спасибо что заметил