Страница 12 из 25

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

Добавлено: 27 апр 2010, 22:20
Александр
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; // высота      }

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

Добавлено: 05 май 2010, 17:18
11papa11
Вопрос:
Как сделать так, что бы фотография и имя была в правом верхнем углу (имя под авой)?

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

Добавлено: 05 май 2010, 17:52
Александр
11papa11
Меняй координаты на нужные значения. Зависит от размера твоего приложения и размеров аватарки.

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

 // имя                name_txt.x=410;                name_txt.y=360;// фото            photoLoader.x = 0;            photoLoader.y = 200;

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

Добавлено: 06 май 2010, 11:42
Жека
Спасибо за урок) Получилось)

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

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

Добавлено: 08 май 2010, 13:53
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);        }     }}
вроде с контейнером должно быть так...
почему не работает?

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

Добавлено: 08 май 2010, 16:04
bodnar
как бы лень создавать приложение загружать его в контакт смотреть что не работает, может так проблему огласите? :D

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

Добавлено: 08 май 2010, 21:02
dead_luminor
ну чтобы с контейнером работало надо

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

Добавлено: 09 май 2010, 06:07
bodnar
вызывать контейнер и начинать работать с ним нужно на событие Event.ADDED_TO_STAGE

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

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

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

Добавлено: 17 май 2010, 12:43
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);        } 

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

Добавлено: 17 май 2010, 13:01
bodnar
в 37 строчку вставьте }