ActionScript 3 Хранение и использование данных на сервере ВК

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1607
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 6 декабря 2015, 19:44

На примере ActionScript 3 Захват введенного текста, будем рассматривать, как из flash сохранить данные в ВК и прочитать их.

Сохранение данных на сервер ВК
Как создать приложение ВК и подключить APIConection вы наверное уже знаете, так что сразу перейдём к сохранению данных на сервер ВК.

1. В скрипт добавим код для подключения к APIConection:

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

import vk.APIConnection;//импорт класса в проект                  


К private

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

        private var VK:APIConnection;//экземпляр класса
        private var flashVars:Object;    //Object для хранения настроек подключения                     


И в public function Main() , заменив настройки приложения на свои

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

            flashVars = stage.loaderInfo.parameters as Object; //метод настроек подключения
            if (!flashVars.api_id)//если локально то далее настройки
            {
                flashVars['api_id'] = 516063;
                flashVars['viewer_id'] = 4563415;
                flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1";
                flashVars['secret'] = "8cb951b6b";
            }            
            VK 
= new APIConnection(flashVars);


2. В function Дейст_чтения_кнопки(event:Event):void добавим storage.set - сохранение

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

VK.api('storage.set', { key:'Pole1',  value:Поле_ввода.text}, Запись, ошибка);


Теперь необходимо добавить две функции:

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

        function Запись(response:Object):void{
        //Если запись прошла удачно, то....
        trace("Записали на сервер ВК в ячейку Pole1 - то что ввели в поле ввода");
        

и

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

        function ошибка(data:Object):void //"ошибка" 
        {
            trace(data.error_msg);
            trace("Ошибка");
        


В итоге у нас получится вот такой код:

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

package 
{ 
    import flash
.display.Sprite; 
    import flash
.display.Stage; 
    import flash
.text.*; 
    import flash
.events.*; 
    import flash
.events.MouseEvent;//клики мыши
    import vk.APIConnection;//импорт класса в проект

    public class Main extends Sprite 
    
{ 
        private var VK
:APIConnection;//экземпляр класса
        private var flashVars:Object;    //Object для хранения настроек подкллючения    
        
        public function Main
() 
        
{         
            flashVars 
= stage.loaderInfo.parameters as Object; //метод настроек подключения
            if (!flashVars.api_id)//если локально то далее настройки
            {
                flashVars['api_id'] = 516063;
                flashVars['viewer_id'] = 4563415;
                flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1";
                flashVars['secret'] = "8cb951b6b";
            }            
            VK 
= new APIConnection(flashVars);
            
            Кнопка_ввода
.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки);//Вызываем событие нажатия кнопки Кнопка_ввода 
        } 
        
        function Дейст_чтения_кнопки
(event:Event):void //Обрабатываем событие нажатия кнопки Кнопка_ввода
        {
            var str:String = Поле_ввода.text; //захват строки введенного текста и присваивание к ней переменной str
            Поле_вывода.text = str;//выводим текст
            VK.api('storage.set', { key:'Pole1',  value:Поле_ввода.text}, Запись, ошибка);
        }    

        function Запись
(response:Object):void{
        //Если запись прошла удачно, то....
        Поле_ввода.text="";//очищение поля ввода 
        }
        
        function ошибка
(data:Object):void //"ошибка" 
        {
            trace(data.error_msg);
            trace("Ошибка");
        }
        
    
} 


Вот и всё, данные успешно записались на сервер ВК. Теперь на сервере ВК в ячейке Pole1 - то что ввели в поле ввода, но нам нужно ещё и прочитать их. Переходим далее...

Чтение данных с сервера ВК
3. Для вывода сохранённой информации, создадим новое динамическое текстовое поле. И дадим имя экземпляру - "Поле_вывода_ВК"

ActionScript 3 Хранение и использование данных на сервере ВК_1.jpg


4. И кнопку для вызова информации с ВК, дав имя экземпляру - "Кнопка_взять"

ActionScript 3 Хранение и использование данных на сервере ВК_2.jpg
ActionScript 3 Хранение и использование данных на сервере ВК_2.jpg (93.27 КБ) 1480 просмотров


5. Переходим к скрипту - добавляем кнопку:

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

Кнопка_взять.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки_С_ВК);//Обрабатываем событие нажатия кнопки Кнопка_взять        


И две функции:

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

        function Дейст_чтения_кнопки_С_ВК(response:Object):void{
        VK.api("storage.get" ,{key:'Pole1'}, Чтение, ошибка);//посылаем запрос на сервер ВК
        }
        
        function Чтение
(response:Object):void{
        Поле_вывода_ВК.text=String(response);
        //Если чтение прошло удачно, то в Поле_вывода_ВК - выводится то что мы прочитали
        }


6. В итоге у нас получился вот такой код:

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

package 
{ 
    import flash
.display.Sprite; 
    import flash
.display.Stage; 
    import flash
.text.*; 
    import flash
.events.*; 
    import flash
.events.MouseEvent;//клики мыши
    import vk.APIConnection;//импорт класса в проект

    public class Main extends Sprite 
    
{ 
        private var VK
:APIConnection;//экземпляр класса
        private var flashVars:Object;    //Object для хранения настроек подкллючения    
        
        public function Main
() 
        
{         
            flashVars 
= stage.loaderInfo.parameters as Object; //метод настроек подключения
            if (!flashVars.api_id)//если локально то далее настройки
            {
                flashVars['api_id'] = 5160631;
                flashVars['viewer_id'] = 45634150;
                flashVars['sid'] = "9512208d82432dbb4dd024f2ea052ad5eff1be3f268116e3147b4a1021fcd96d569ac68980561a9f15f1d";
                flashVars['secret'] = "8cb951b6bc";
            }            
            VK 
= new APIConnection(flashVars);
            
            Кнопка_ввода
.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки);//Вызываем событие нажатия кнопки Кнопка_ввода 
            Кнопка_взять.addEventListener(MouseEvent.CLICK ,Дейст_чтения_кнопки_С_ВК);//Обрабатываем событие нажатия кнопки Кнопка_взять
        } 
        
        function Дейст_чтения_кнопки_С_ВК
(response:Object):void{
        VK.api("storage.get" ,{key:'Pole1'}, Чтение, ошибка);//посылаем запрос на сервер ВК
        }
        
        function Чтение
(response:Object):void{
        Поле_вывода_ВК.text=String(response);
        //Если чтение прошло удачно, то в Поле_вывода_ВК - выводится то что мы прочитали
        }        
        
        function Дейст_чтения_кнопки
(event:Event):void //Обрабатываем событие нажатия кнопки Кнопка_ввода
        {
            var str:String = Поле_ввода.text; //захват строки введенного текста и присваивание к ней переменной str
            Поле_вывода.text = str;//выводим текст
            VK.api('storage.set', { key:'Pole1',  value:Поле_ввода.text}, Запись, ошибка);
        }    

        function Запись
(response:Object):void{
        //Если запись прошла удачно, то....
        Поле_ввода.text="";//очищение поля ввода 
        }
        
        function ошибка
(data:Object):void //"ошибка" 
        {
            trace(data.error_msg);
            trace("Ошибка");
        }
        
    
} 


Вот и все, теперь протестировав должно все работать:

ActionScript 3 Хранение и использование данных на сервере ВК_3.jpg
ActionScript 3 Хранение и использование данных на сервере ВК_3.jpg (44.38 КБ) 1480 просмотров
ActionScript 3 Хранение и использование данных на сервере ВК_4.jpg
ActionScript 3 Хранение и использование данных на сервере ВК_4.jpg (44.79 КБ) 1480 просмотров


Даже если вы перезагрузили свой проект, то нажав на кнопку Взять, в поле отобразится то что вы написали ранее.

ActionScript 3 Хранение и использование данных на сервере ВК_5.jpg
ActionScript 3 Хранение и использование данных на сервере ВК_5.jpg (43.42 КБ) 1480 просмотров


Исходник fla и скрипт as
Вложения
хранение.zip
(108.72 КБ) 206 скачиваний
[center]i love you [s]mxIni[/s] Mysql[/center]


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Adobe Flash»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость