ActionScript 3.0, контейнер
Этот урок - это обновленная версия урока Публикации картинок с сервера на стену (wall.savePost).
1. Добавляем на сцену:
Текстовые поля с именами:
- to_id_tf (поле ввода id того, кому будет отправляться фото)
- result_tf (поле, в котором будет выводиться результат)
Кнопку send_btn.
2. Создаём Main.as и пишем код:
- /*
- http://flapps.ru/forum/ - форум о создании приложений
- */
- package {
- import flash.display.*;
- import flash.events.*;
- public class Main extends Sprite {
- private var viewer_id;
- private var wrapper:Object;
- public function Main():void {
- this.addEventListener( Event.ADDED_TO_STAGE, onAddedToStage );
- }
- private function onAddedToStage(e: Event):void {
- wrapper=Object(parent.parent);
- // если приложение открыто со стены
- if (wrapper.application.parameters.referrer=='wall_view_inline'||wrapper.application.parameters.referrer=='wall_view') {
- result_tf.text='Здесь вы можете считать post_id и загрузить большое изображение.\n' +
- 'post_id=' + wrapper.application.parameters.post_id; // post_id передаётся в запросе ниже
- }
- send_btn.addEventListener(MouseEvent.CLICK, send_btnClick);
- viewer_id=wrapper.application.parameters.viewer_id;
- to_id_tf.text=viewer_id;
- }
- private function send_btnClick(e: MouseEvent):void {
- // отправляем запрос ('стена пользователяь которому будет отправлено фото (id)', 'photo_id', 'Сообщение')
- var to_id=int(to_id_tf.text); // id пользователя, на стену которого будет отправляться фото
- var post_id='post1';// id записи. Этот параметр будет передаваться в приложение через flashVars при просмотре записи на стене пользователя
- var photo_id='6492_135055734';// идентификатор фотографии в фотоальбоме
- var post_message='Исходник этого приложения на ';
- wrapper.external.api('wall.savePost', {wall_id:to_id,post_id:post_id,photo_id:photo_id,message:post_message}, photoPosted, onError);
- }
- private function photoPosted(data: Object):void {
- // сохраняем запись на стене пользователя
- wrapper.external.callMethod('saveWallPost', data.post_hash);
- // пользователь нажал Добавить запись или Отмена
- wrapper.addEventListener("onWallPostSave", onWallPostSave);
- wrapper.addEventListener("onWallPostCancel", onWallPostCancel);
- }
- // пользователь подтвердил публикацию записи на стене
- private function onWallPostSave(e: Object): void {
- result_tf.text='Запись добавлена';
- }
- // пользователь отменил публикацию записи на стену
- private function onWallPostCancel(e: Object): void {
- result_tf.text='Вы нажали Отмена';
- }
- // ошибка при обращении к серверу api
- private function onError(data: Object):void
- {
- result_tf.text = data.error_msg;
- }
- }
- }
3. Подключаем Main.as к fla
Если не знаете как, то посмотрите как это было сделано в этом уроке topic3.html
4. Загружаем приложение в контакт
Редактирование -> Настройки -> Настройки -> Состояние -> Приложение включено и видно всем
Настройки контейнера -> Flash
Flash-контейнер -> C использованием контейнера -> Сохранить изменения
Обновление SWF-приложения -> Загрузить приложение
5. Всё готово!
Исходник Чтобы увидеть ссылку - зарегистрируйтесь