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

Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 19 дек 2010, 18:55
Александр
Вызов JS API c APIConnection (showSettingsBox)
ActionScript 3.0 (Adobe Flash CS5)

В этом уроке вы узнаете как с помощью APIConnection осуществить вызов API функции showSettingsBox, которая открывает окно для изменения настроек приложения.
Другие функции showInstallBox, showInviteBox, showPaymentBox и showMerchantPaymentBox используются аналогично.
Подробнее об этих методах можно прочитать в документации.

1. Создаём Новый документ Flash File (ActionScript 3.0)
Добавляем на сцену:
- кнопку. Называем её btn.
- текстовое поле. Называем его result_tf.
Сохраняем fla.

2. Скачиваем APIConnection.zip
http://vkontakte.ru/source/APIConnection.zip
Папку vk из архива vk_api_connection\src\ кладем в папку с сохраненным fla.

3. Создаем Новый as-файл
Пишем код:

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

/* http://flapps.ru/forum/ - форум о создании приложений */package {    import flash.display.Sprite;    import flash.events.*;    import vk.APIConnection;    import vk.events.*;     public class Main extends Sprite    {        public function Main()        {            // получаем flashVars            var flashVars:Object = stage.loaderInfo.parameters as Object;             // инициализация            var VK:APIConnection = new APIConnection(flashVars);             // вешаем слушатель на событие изменения настроек            VK.addEventListener('onSettingsChanged',onSettingsChanged);             // слушатель нажатия на кнопку            btn.addEventListener(MouseEvent.CLICK,function(e: Event):void{                // вызываем окно настроек                VK.callMethod("showSettingsBox", 2048);            });         }         // настройки изменены        private function onSettingsChanged(e:CustomEvent):void        {            // выводим новые настройки в поле result_tf            result_tf.text = e.params[0];        }     }}
Сохраняем файл в папку с fla и называем его Main.as
Подключаем Main.as к fla. Если не знаете как это сделать, то посмотрите в этом уроке http://flapps.ru/forum/topic3.html (пункт 6).
Экспортируем приложение.

4. Загружаем приложение в контакт
Приложение должно быть включено.
Без использования контейнера.

Тестируем.
При нажатии на кнопку, появится окно изменения настроек. После их изменения, в поле result_tf должно появится число, означающее текущие настройки.
О том как обработать это число можно узнать в уроке Настройки приложения в контакте (битовая маска настроек).

Исходник http://flapps.ru/example/APIConnection_js_api.rar

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 05 окт 2011, 13:43
DSMR
Привет, блин мучаюсь уже целый день, не работает эта схема. После экспорта (Ctrl+Enter) выдает такие ошибки:
1120: Обращение несуществующего свойства btn
1120: Обращение несуществующего свойства result_tf

в списке данной ошибки не нашел, искал по номеру.

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 05 окт 2011, 20:11
Александр
DSMR
Это сделал?
Добавляем на сцену:
- кнопку. Называем её btn.
- текстовое поле. Называем его result_tf.

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 06 окт 2011, 08:10
12funteam89
После помещения текстового поля и кнопки на сцену , пропиши им "Instance Name" для кнопки это btn а для поля result_tf

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 06 окт 2011, 12:25
DSMR
все сделал, теперь вот такую ошибку выдает TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Main()

а это значит, ч в коде есть ошибка, но я ее не нашел.

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 06 окт 2011, 12:30
Evgesha
DSMR » 3 минуты назад

все сделал, теперь вот такую ошибку выдает TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Main()

а это значит, ч в коде есть ошибка, но я ее не нашел.
иди книжки читай, ты далёк ещё, друг мой

Re: Вызов JS API c APIConnection (showSettingsBox)

Добавлено: 06 окт 2011, 12:55
DSMR
уже читаю колина мука) мне просто так хотелось эту гребаную кнопку сделать, до этого момента)