saveProfilePhoto код в кадре

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Аватара пользователя
12funteam89
Сообщения: 99
Зарегистрирован: 29 окт 2010, 15:34

saveProfilePhoto код в кадре

Сообщение 12funteam89 »

Здесь в уроках есть этот код но он написан в отдельном as файле. Я хочу написать код в кадре, но у меня тогда почему то не работает ничего помогите пожалуйста.
Вот изначальный код:

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

 package {    import flash.display.*;    import flash.events.*;    import flash.net.FileReference;    import flash.net.URLRequest;    import flash.net.URLRequestHeader;    import flash.net.URLRequestMethod;    import flash.net.FileFilter;    import flash.net.URLLoader;    import vk.api.serialization.json.JSON;    import vk.api.MD5;    import vk.APIConnection;    import vk.events.*;    import vk.ui.*;     public class Main extends Sprite    {          public var urlRequest: URLRequest = new URLRequest();        public var loadphoto:VKButton;//обычная кнопка        public var uploadphoto:VKButton;        private var file:FileReference;//наша фотография, которую выберет пользователь        public var uploadurl:String;        //переменные приложения        public var api_id:Number;        public var viewer_id:Number;        public var sid:String;        public var secret:String;        //получаем flashvars        public var flashVars:Object = stage.loaderInfo.parameters as Object;        //инициализация        public var VK:APIConnection = new APIConnection(flashVars);        //фильтер, который позволит пользователю выбирать только картинки        public var imagesFilter:FileFilter = new FileFilter("Images","*.jpg;*.gif;*.png");        public function Main()        {            //добавляем кнопку на сцену            loadphoto = new VKButton("Выбрать картинку");            loadphoto.x = 213;            loadphoto.y = 149;            addChild(loadphoto);             //делаем кнопку, но пока не добавляем на сцену            uploadphoto = new VKButton("Изменить картинку");            uploadphoto.x = 213;            uploadphoto.y = 149;            uploadphoto.addEventListener(MouseEvent.CLICK, changephoto);             //добавляем событие. как только фотография будет выбрана-будет вызванная функция onFileSelected            file = new FileReference();            file.addEventListener(Event.SELECT, onFileSelected);             //добавляем событие к кнопки            loadphoto.addEventListener(MouseEvent.CLICK, loadphotoo);               //переменные приложения            api_id = flashVars['api_id'];            viewer_id = flashVars['viewer_id'];            sid = flashVars['sid'];            secret = flashVars['secret'];               //первый этап. получаем http адрес для загрузки фотографии.            VK.api('photos.getProfileUploadServer', {}, getuploadserver, onError);        }         //пользователь выбирает картинку        private function loadphotoo(e:MouseEvent):void        {            file.browse([imagesFilter]);        }         // загружаем фотографию        private function onFileSelected(e:Event):void        {            file.addEventListener(Event.COMPLETE, onFileLoaded);            file.load();        }         //убираем первую кнопку, добавляем вторую        private function onFileLoaded(e:Event):void        {            removeChild(loadphoto);            addChild(uploadphoto);           }          private function getuploadserver(data:Object):void        {            uploadurl = data.upload_url;         }        //второй этап. Делаем пост запрос на полученный адрес        private function changephoto(e:MouseEvent):void        {             urlRequest.url = uploadurl;            urlRequest.method = URLRequestMethod.POST;            urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));            file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);            file.upload(urlRequest, 'photo');            removeChild(uploadphoto);            wait.text = "Пожалуйста, ждите.Фотография загружается";        }          private function onUploadComplete(e:DataEvent):void        {            var responsee:Object = JSON.decode(e.data);             VK.api('photos.saveProfilePhoto', { server: responsee.server,photo:responsee.photo,hash:responsee.hash }, onHashLoaded, onError);            removeChild(uploadphoto);          }        private function onHashLoaded(data:Object):void        {            wait.text = "";             addChild(loadphoto);         }        private function onError(data: Object):void        {            if (data.error_msg == "Operation denied by user")            {                wait.text = "";                 addChild(loadphoto);            }         }       } }  

А вот который я написал в кадре:

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

  import flash.display.*;    import flash.events.*;    import flash.net.FileReference;    import flash.net.URLRequest;    import flash.net.URLRequestHeader;    import flash.net.URLRequestMethod;    import flash.net.FileFilter;    import flash.net.URLLoader;    import vk.api.serialization.json.JSON;    import vk.api.MD5;    import vk.APIConnection;    import vk.events.*;    import vk.ui.*;           var urlRequest: URLRequest = new URLRequest();     var loadphoto:VKButton;//обычная кнопка     var uploadphoto:VKButton;     var file:FileReference;//наша фотография, которую выберет пользователь     var uploadurl:String;        //переменные приложения     var api_id:Number;     var viewer_id:Number;     var sid:String;     var secret:String;        //получаем flashvars     var flashVars:Object = stage.loaderInfo.parameters as Object;        //инициализация     var VK:APIConnection = new APIConnection(flashVars);        //фильтер, который позволит пользователю выбирать только картинки     var imagesFilter:FileFilter = new FileFilter("Images","*.jpg;*.gif;*.png");      function Main()        {            //добавляем кнопку на сцену            loadphoto = new VKButton("Выбрать картинку");            loadphoto.x = 10;            loadphoto.y = 10;            addChild(loadphoto);             //делаем кнопку, но пока не добавляем на сцену            uploadphoto = new VKButton("Изменить картинку");            uploadphoto.x = 10;            uploadphoto.y = 10;            uploadphoto.addEventListener(MouseEvent.CLICK, changephoto);             //добавляем событие. как только фотография будет выбрана-будет вызванная функция onFileSelected            file = new FileReference();            file.addEventListener(Event.SELECT, onFileSelected);             //добавляем событие к кнопки            loadphoto.addEventListener(MouseEvent.CLICK, loadphotoo);               //переменные приложения            api_id = flashVars['api_id'];            viewer_id = flashVars['viewer_id'];            sid = flashVars['sid'];            secret = flashVars['secret'];               //первый этап. получаем http адрес для загрузки фотографии.            VK.api('photos.getProfileUploadServer', {}, getuploadserver, onError);        }         //пользователь выбирает картинку         function loadphotoo(e:MouseEvent):void        {            file.browse([imagesFilter]);        }         // загружаем фотографию        function onFileSelected(e:Event):void        {            file.addEventListener(Event.COMPLETE, onFileLoaded);            file.load();        }         //убираем первую кнопку, добавляем вторую        function onFileLoaded(e:Event):void        {            removeChild(loadphoto);            addChild(uploadphoto);           }        function getuploadserver(data:Object):void        {            uploadurl = data.upload_url;         }        //второй этап. Делаем пост запрос на полученный адрес     function changephoto(e:MouseEvent):void        {             urlRequest.url = uploadurl;            urlRequest.method = URLRequestMethod.POST;            urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));            file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);            file.upload(urlRequest, 'photo');            removeChild(uploadphoto);            wait.text = "Пожалуйста, ждите.Фотография загружается";        }        function onUploadComplete(e:DataEvent):void        {            var responsee:Object = JSON.decode(e.data);             VK.api('photos.saveProfilePhoto', { server: responsee.server,photo:responsee.photo,hash:responsee.hash }, onHashLoaded, onError);            removeChild(uploadphoto);          }       function onHashLoaded(data:Object):void        {            wait.text = "";             addChild(loadphoto);         }        function onError(data: Object):void        {            if (data.error_msg == "Operation denied by user")            {                wait.text = "";                 addChild(loadphoto);            }         } 
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: saveProfilePhoto код в кадре

Сообщение Evgesha »

function Main()
если я не ошибаюсь, то дело в этом! Никто не вызывает эту функцию, она просто задана. Чтобы её вызвать сделай так main(); Либо напиши код который внутри функции, без функции
Аватара пользователя
Евгений
FL Team
FL Team
Сообщения: 776
Зарегистрирован: 10 июн 2010, 11:01

Re: saveProfilePhoto код в кадре

Сообщение Евгений »

Evgesha писал(а):
function Main()
если я не ошибаюсь, то дело в этом! Никто не вызывает эту функцию, она просто задана. Чтобы её вызвать сделай так main(); Либо напиши код который внутри функции, без функции
Конечно в этом ;) Это функция никак здесь не уместна!
Аватара пользователя
12funteam89
Сообщения: 99
Зарегистрирован: 29 окт 2010, 15:34

Re: saveProfilePhoto код в кадре

Сообщение 12funteam89 »

То есть код который внутри функции Maiт() можно напичать без функции правильно?
Вот так:

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

 import flash.display.*;    import flash.events.*;    import flash.net.FileReference;    import flash.net.URLRequest;    import flash.net.URLRequestHeader;    import flash.net.URLRequestMethod;    import flash.net.FileFilter;    import flash.net.URLLoader;    import vk.api.serialization.json.JSON;    import vk.api.MD5;    import vk.APIConnection;    import vk.events.*;    import vk.ui.*;           var urlRequest: URLRequest = new URLRequest();     var loadphoto:VKButton;//обычная кнопка     var uploadphoto:VKButton;     var file:FileReference;//наша фотография, которую выберет пользователь     var uploadurl:String;        //переменные приложения     var api_id:Number;     var viewer_id:Number;     var sid:String;     var secret:String;        //получаем flashvars     var flashVars:Object = stage.loaderInfo.parameters as Object;        //инициализация     var VK:APIConnection = new APIConnection(flashVars);        //фильтер, который позволит пользователю выбирать только картинки     var imagesFilter:FileFilter = new FileFilter("Images","*.jpg;*.gif;*.png");                //добавляем кнопку на сцену            loadphoto = new VKButton("Выбрать картинку");            loadphoto.x = 10;            loadphoto.y = 10;            addChild(loadphoto);             //делаем кнопку, но пока не добавляем на сцену            uploadphoto = new VKButton("Изменить картинку");            uploadphoto.x = 10;            uploadphoto.y = 10;            uploadphoto.addEventListener(MouseEvent.CLICK, changephoto);             //добавляем событие. как только фотография будет выбрана-будет вызванная функция onFileSelected            file = new FileReference();            file.addEventListener(Event.SELECT, onFileSelected);             //добавляем событие к кнопки            loadphoto.addEventListener(MouseEvent.CLICK, loadphotoo);               //переменные приложения            api_id = flashVars['api_id'];            viewer_id = flashVars['viewer_id'];            sid = flashVars['sid'];            secret = flashVars['secret'];               //первый этап. получаем http адрес для загрузки фотографии.            VK.api('photos.getProfileUploadServer', {}, getuploadserver, onError);                 //пользователь выбирает картинку         function loadphotoo(e:MouseEvent):void        {            file.browse([imagesFilter]);        }         // загружаем фотографию        function onFileSelected(e:Event):void        {            file.addEventListener(Event.COMPLETE, onFileLoaded);            file.load();        }         //убираем первую кнопку, добавляем вторую        function onFileLoaded(e:Event):void        {            removeChild(loadphoto);            addChild(uploadphoto);           }        function getuploadserver(data:Object):void        {            uploadurl = data.upload_url;         }        //второй этап. Делаем пост запрос на полученный адрес     function changephoto(e:MouseEvent):void        {             urlRequest.url = uploadurl;            urlRequest.method = URLRequestMethod.POST;            urlRequest.requestHeaders.push(new URLRequestHeader('Cache-Control', 'no-cache'));            file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadComplete);            file.upload(urlRequest, 'photo');            removeChild(uploadphoto);            wait.text = "Пожалуйста, ждите.Фотография загружается";        }        function onUploadComplete(e:DataEvent):void        {            var responsee:Object = JSON.decode(e.data);             VK.api('photos.saveProfilePhoto', { server: responsee.server,photo:responsee.photo,hash:responsee.hash }, onHashLoaded, onError);            removeChild(uploadphoto);          }       function onHashLoaded(data:Object):void        {            wait.text = "";             addChild(loadphoto);         }        function onError(data: Object):void        {            if (data.error_msg == "Operation denied by user")            {                wait.text = "";                 addChild(loadphoto);            }         }  
Evgesha
ЗАБАНЕН!
Сообщения: 279
Зарегистрирован: 07 июн 2011, 20:36

Re: saveProfilePhoto код в кадре

Сообщение Evgesha »

да
Аватара пользователя
12funteam89
Сообщения: 99
Зарегистрирован: 29 окт 2010, 15:34

Re: saveProfilePhoto код в кадре

Сообщение 12funteam89 »

Спасибо большое)
Ответить