Приложение, показывающее имя, фамилию, дату рождения, аватар

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Александр »

Alex
Так?

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

      private function onLoaded(e:Event):void {         // отображаем загруженный аватар         photoLoader.x = (550-photoLoader.width)/2;         photoLoader.y = (400-photoLoader.height)/2;         addChild(photoLoader);         photoLoader.width = 50; // ширина         photoLoader.height = 100; // высота      }
11papa11
Сообщения: 5
Зарегистрирован: 03 май 2010, 12:39

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение 11papa11 »

Вопрос:
Как сделать так, что бы фотография и имя была в правом верхнем углу (имя под авой)?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Александр »

11papa11
Меняй координаты на нужные значения. Зависит от размера твоего приложения и размеров аватарки.

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

 // имя                name_txt.x=410;                name_txt.y=360;// фото            photoLoader.x = 0;            photoLoader.y = 200;
Жека
Сообщения: 53
Зарегистрирован: 05 май 2010, 18:31

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение Жека »

Спасибо за урок) Получилось)

А можно такой-же урок но на AS 2?
dead_luminor

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение dead_luminor »

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

package {   import flash.net.*;   import flash.display.*;   import flash.events.*;   import flash.text.*;   import vk.VkApiNode;    public class Main extends Sprite {      private var api_id:Number=111111; // id вашего приложения      private var api_secret:String="v11111"; // секретный ключ        private var externalXML:XML;        private var loader:URLLoader = new URLLoader();        private var photoLoader:Loader = new Loader();        //private var viewer_id:Number;        private var sig:String;        private var uid:String;        private var bdate_txt:TextField = new TextField();        private var name_txt:TextField = new TextField();        private var query:String;        private var wrapper:Object;        private var api:VkApiNode;        private var viewer_id;         public function Main():void {            // узнаём id пользователя, который просматривает приложение            wrapper=Object(parent.parent);            var params:Object=LoaderInfo(root.loaderInfo).parameters;            viewer_id=wrapper.application.parameters.viewer_id;            // получаем профиль этого пользователя            getProfile(viewer_id);        }         private function getProfile(uid):void { // функция получения профиля            sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);            var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+uid+"&fields=bdate,photo_big&v=2.0&sig="+sig);            loader.load(request);            loader.addEventListener(Event.COMPLETE, onComplete);        }         private function onComplete(event:Event):void { // функция выполняется когда профиль был загружен            bdate_txt.text='';            if (loader!=null) {                externalXML=new XML(loader.data);                // отображаем дату рождения                var bdate = externalXML..bdate;                bdate_txt.text=bdate;                bdate_txt.x=490;                bdate_txt.y=380;                addChild(bdate_txt);                                // отображаем имя и фамилию                var uname = externalXML..first_name + ' ' + externalXML..last_name;                name_txt.text=uname;                name_txt.x=410;                name_txt.y=360;                addChild(name_txt);                                // загружаем аватар                var photo = externalXML..photo_big;                var request2:URLRequest=new URLRequest(photo);                photoLoader.load(request2);                photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);             } else {                trace("Error!");            }        }         private function onLoaded(e:Event):void {            // отображаем загруженный аватар            photoLoader.x = (550-photoLoader.width)/2;            photoLoader.y = (400-photoLoader.height)/2;            addChild(photoLoader);        }     }}
вроде с контейнером должно быть так...
почему не работает?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение bodnar »

как бы лень создавать приложение загружать его в контакт смотреть что не работает, может так проблему огласите? :D
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение bodnar »

вызывать контейнер и начинать работать с ним нужно на событие Event.ADDED_TO_STAGE

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

 public function main{this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);} public function onAddedToStage(e:Event):void{//и тут уже начинаем делать то что вы делали} 
в второе, у метода конструктора не нужно ставить :void он и так конструктор. Кажется в стрикт моде не проходит проверку на ошибки
dead_luminor

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение dead_luminor »

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

/*     http://flapps.ru/forum/ - форум о создании флеш приложений на основе ВКонтакте API */package {    import flash.net.URLLoader;    import flash.net.URLRequest;    import flash.display.*;    import flash.events.*;    import flash.text.*;     public class Main extends Sprite {        private var api_id:Number=1877289; // id вашего приложения        private var api_secret:String="cAZVLtrvo9"; // секретный ключ        private var externalXML:XML;        private var loader:URLLoader = new URLLoader();        private var photoLoader:Loader = new Loader();        private var viewer_id:Number;        private var sig:String;        private var uid:String;        private var query:String;        private var wrapper:Object;        private var bdate_txt:TextField = new TextField();        private var name_txt:TextField = new TextField();         public function Main() {            wrapper=Object(parent.parent);             this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);        }                public function onAddedToStage(e:Event):void{                                    viewer_id=wrapper.application.parameters.viewer_id;            getProfile(viewer_id);                     private function getProfile(uid):void {            sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);            var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+uid+"&fields=bdate,photo_big&v=2.0&sig="+sig);            loader.load(request);            loader.addEventListener(Event.COMPLETE, onComplete);        }         private function onComplete(event:Event):void {            bdate_txt.text='';            if (loader!=null) {                externalXML=new XML(loader.data);                var bdate = externalXML..bdate;                bdate_txt.text=bdate;                bdate_txt.x=490;                bdate_txt.y=380;                addChild(bdate_txt);                                var uname = externalXML..first_name + ' ' + externalXML..last_name;                name_txt.text=uname;                name_txt.x=410;                name_txt.y=360;                addChild(name_txt);                                var photo = externalXML..photo_big;                var request2:URLRequest=new URLRequest(photo);                photoLoader.load(request2);                photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);             } else {                trace("Error!");            }        }         private function onLoaded(e:Event):void {            photoLoader.x = (550-photoLoader.width)/2;            photoLoader.y = (400-photoLoader.height)/2;            addChild(photoLoader);        }     }}}
Ошибки:
http://s54.radikal.ru/i146/1005/a4/4c7e1ae9f893.png

1 ошибка ругается на это

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

         private function getProfile(uid):void {   //вот на эту строчку ругается            sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilesuids='+uid+'v=2.0'+api_secret);            var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+uid+"&fields=bdate,photo_big&v=2.0&sig="+sig);            loader.load(request);            loader.addEventListener(Event.COMPLETE, onComplete);        } 
2 ошибка ругается на это

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

          private function onComplete(event:Event):void { //вот на эту строчку ругается            bdate_txt.text='';            if (loader!=null) {                externalXML=new XML(loader.data);                var bdate = externalXML..bdate;                bdate_txt.text=bdate;                bdate_txt.x=490;                bdate_txt.y=380;                addChild(bdate_txt);                                var uname = externalXML..first_name + ' ' + externalXML..last_name;                name_txt.text=uname;                name_txt.x=410;                name_txt.y=360;                addChild(name_txt);                                var photo = externalXML..photo_big;                var request2:URLRequest=new URLRequest(photo);                photoLoader.load(request2);                photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);             } else {                trace("Error!");            }        } 
3 ошибка ругается на это

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

         private function onLoaded(e:Event):void { //на эту строчку            photoLoader.x = (550-photoLoader.width)/2;            photoLoader.y = (400-photoLoader.height)/2;            addChild(photoLoader);        } 
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Приложение, показывающее имя, фамилию, дату рождения, аватар

Сообщение bodnar »

в 37 строчку вставьте }
Ответить