ВКонтакте API 3.0. Пример простого приложения
Re: ВКонтакте API 3.0. Пример простого приложения
Спасибо большое. Примерные размеры подогнал. Было бы замечательно, если получилось применительно к этому коду, в этих же координатах привязать к аватарки рамку. Пробовал с graphics.beginFill(0xFFFFFF); но ничего не получилось. Буду благодарен если подскажите примером.
Re: ВКонтакте API 3.0. Пример простого приложения
Вот ооочень простая рамкаRobert писал(а):Спасибо большое. Примерные размеры подогнал. Было бы замечательно, если получилось применительно к этому коду, в этих же координатах привязать к аватарки рамку. Пробовал с graphics.beginFill(0xFFFFFF); но ничего не получилось. Буду благодарен если подскажите примером.
Код: Выделить всё
var x:int=100; //координаты фоткиvar y:int=100;var w:int=100; //размеры фоткиvar h:int=50;var ots:int=5; //отступ рамки от фоткиvar ramka:Shape = new Shape(); //в этом шейпе будем рамку рисоватьavatar.move(x,y);avatar.scaleContent = true;avatar.setSize(w,h);ramka.graphics.lineStyle(2, 0x990000, .75); //задаём стиль рамкиramka.graphics.drawRect(x-ots, y-ots, w+ots*2, h+ots*2); //рисуем рамкуstage.addChild(avatar); //всё готово, можно показывать :) stage.addChild(ramka);
Re: ВКонтакте API 3.0. Пример простого приложения
Ого! Ничего себе "ооочень простая рамка" =) Супер! Скажите Ваш вебмани wmr кошель - отблагодарю за помощь. Или аську / скайп для связи. Рамка отличная, проблема только в том, что ширина отступа не фиксируется. Отступ с права и слева - одинаковый, но большой. С самим фото та же проблема ширину не могу зафиксировать. Вот пример:Умри писал(а): Вот ооочень простая рамка
Пробовал в коде менять значение w+ots*2 ничего не вышло. Вот полностью весь код с координатами фото. Посмотрите пожалуйста может получится его откорректировать к требуемым значениям.
Код: Выделить всё
// выводим аватарку пользователяavatar.autoLoad = true; avatar.source = response..photo_big; var x:int=250; //координаты фоткиvar y:int=142;var w:int=167; //размеры фоткиvar h:int=135;var ots:int=5; //отступ рамки от фоткиvar ramka:Shape = new Shape(); //в этом шейпе будем рамку рисоватьavatar.move(x,y);avatar.scaleContent = true;avatar.setSize(w,h);ramka.graphics.lineStyle(2, 0x990000, .75); //задаём стиль рамкиramka.graphics.drawRect(x-ots, y-ots, w+ots*2, h+ots*2); //рисуем рамкуstage.addChild(avatar); //всё готово, можно показывать :)stage.addChild(ramka);}
Re: ВКонтакте API 3.0. Пример простого приложения
Ну ты, видимо, просто задаёшь размер объекта avatar больше, чем размер фотки. И получается, что фотка по центру его отображается. А рамка окружает объект именно, а не саму фоткуRobert писал(а): Ого! Ничего себе "ооочень простая рамка" =) Супер! Скажите Ваш вебмани wmr кошель - отблагодарю за помощь. Или аську / скайп для связи. Рамка отличная, проблема только в том, что ширина отступа не фиксируется. Отступ с права и слева - одинаковый, но большой. С самим фото та же проблема ширину не могу зафиксировать. Вот пример:
Пробовал в коде менять значение w+ots*2 ничего не вышло. Вот полностью весь код с координатами фото. Посмотрите пожалуйста может получится его откорректировать к требуемым значениям.
Можно так сделать:
Код: Выделить всё
avatar.maintainAspectRatio=false;
Re: ВКонтакте API 3.0. Пример простого приложения
Вау клева! Вот то, чего и хотелось добиться. Спасибо! Возникла подобная проблема с рамкой и выводом в ней имени, фамилии и даты рождения. Код из Main.as первого топика этой темы. Вот, что мы имеем:Умри писал(а):Ну ты, видимо, просто задаёшь размер объекта avatar больше, чем размер фотки. И получается, что фотка по центру его отображается. А рамка окружает объект именно, а не саму фотку Можно так сделать: Тогда фотка будет растягиваться без сохранения пропорций, ей можно будет любой размер задать.
Код: Выделить всё
name_tf.text = response..first_name + ' ' + response..last_name;// выводим имя и фамилию пользователяname_tf.wordWrap = true;//добавил. но возможно и не надо если имя и дата будут по центруname_tf.textColor = 0xffffff;//добавил цвет. хорошо бы шрифт прописать и его размерname_tf.x = 285;name_tf.y = 285;addChild(name_tf); var bdate = response..bdate;// выводим дату рождения пользователяbdate_tf.text = bdate;bdate_tf.textColor = 0xffffff;bdate_tf.x = 285;bdate_tf.y = 285;addChild(bdate_tf);
Код: Выделить всё
var nameramkaTextField:TextField = new TextField(); // делаем рамку для имени и даты рожденияvar score:int = 2011;nameramkaTextField.width = 105;nameramkaTextField.height = 35;nameramkaTextField.x = 285;nameramkaTextField.y = 285;nameramkaTextField.background = true;nameramkaTextField.backgroundColor = 0x000000;nameramkaTextField.border = true;nameramkaTextField.borderColor = 0xFFFFFF;addChild(nameramkaTextField);nameramkaTextField.text = "-" + score;//Если дата отсутствует выводим только текущий год. С координатами не получилось. //_.autoSize = TextFieldAutoSize.CENTER; Пробовал выровнять текст по центру добавив в начало скрипта Main.as import flash.text.TextFieldAutoSize;
Re: ВКонтакте API 3.0. Пример простого приложения
Robert писал(а):но у меня получилась только статическая рамка.
Код: Выделить всё
nameramkaTextField.autoSize=TextFieldAutoSize.LEFT;
-
- Сообщения: 20
- Зарегистрирован: 06 авг 2011, 20:54
ВКонтакте API 3.0. Пример простого приложения (помогите)
Хотел повторить урок из теммы http://flapps.ru/forum/topic992.html
Вроде все сделал правильно вкинул библиотеку подключил Main.as сменил ID приложения добавил на сцену 2 текстовых поля указал имя и UILoader с именем Avatar!
Выгрузив вк ни чего не работает, пробовал с контейнером и без!
Может нужно делать первый запрос к API ? если да то как пожалуйста помогите , с меня на пиво
ссылка на приложение
http://vkontakte.ru/app2751904
Вроде все сделал правильно вкинул библиотеку подключил Main.as сменил ID приложения добавил на сцену 2 текстовых поля указал имя и UILoader с именем Avatar!
Выгрузив вк ни чего не работает, пробовал с контейнером и без!
Может нужно делать первый запрос к API ? если да то как пожалуйста помогите , с меня на пиво
ссылка на приложение
http://vkontakte.ru/app2751904
-
- Сообщения: 20
- Зарегистрирован: 06 авг 2011, 20:54
Re: ВКонтакте API 3.0. Пример простого приложения (помогите)
вот
Код: Выделить всё
/* http://flapps.ru/forum/ - форум о создании флеш приложений на основе ВКонтакте API */package{ import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.URLRequestMethod; import flash.display.*; import flash.events.*; import flash.text.TextField; import fl.containers.UILoader; public class Main extends Sprite { private var api_id:Number = 2751904;// ID приложения private var url_loader:URLLoader; private var url_request:URLRequest; private var viewer_id; private var secret:String; private var sid:String; private var api_url:String; private var bdate_tf:TextField = new TextField(); private var name_tf:TextField = new TextField(); private var avatar:UILoader = new UILoader ; public function Main():void { // получаем данные из flashVars // id просматривающего приложение viewer_id = LoaderInfo(root.loaderInfo).parameters.viewer_id; // secret для генерации сигнатуры secret = LoaderInfo(root.loaderInfo).parameters.secret; // id сессии sid = LoaderInfo(root.loaderInfo).parameters.sid; // адрес API-сервиса api_url = LoaderInfo(root.loaderInfo).parameters.api_url; // для тестирования локально, можно прописать их здесь (брать в исходном коде страницы с приложением) /* viewer_id = '1'; secret = 'abcd123456'; sid = 'abcd123456abcd123456abcd123456abcd123456abcd123456abcd1234'; api_url = 'http://api.vkontakte.ru/api.php'; */ // вызываем функцию получения профиля пользователя, просматривающего приложение getProfile(viewer_id); } private function getProfile(uid):void { // параметры которые будем передавать в запросе и которые нужны для формирования сигнатуры // параметры для формирования сигнатуры var request_params: Object = new Object(); request_params.api_id = api_id; request_params.method = 'getProfiles'; request_params.format = 'XML'; request_params.v = '3.0'; request_params.fields = 'bdate,photo_big'; request_params.uids = uid; // параметры для отправки запроса var variables:URLVariables = new URLVariables(); // часть параметров берем из request_params for (var j:String in request_params) { variables[j] = request_params[j]; } variables['sid'] = sid;// параметр sid нужно передавать в запросе, но он не используются при создании сигнатуры variables['sig'] = generate_signature(request_params);// генерируем сигнатуру. Функция generate_signature описана ниже. // подготавливаем запрос url_request = new URLRequest(api_url); // данные будем отправлять POST запросом url_request.method = URLRequestMethod.POST; // добавляем параметры в запрос url_request.data = variables; // отправляем запрос url_loader = new URLLoader ; url_loader.addEventListener(Event.COMPLETE,onComplete); url_loader.load(url_request); } // запрос выполнен private function onComplete(event:Event):void { var response:XML = new XML(url_loader.data); // выводим дату рождения пользователя var bdate = response..bdate; bdate_tf.text = bdate; bdate_tf.x = 490; bdate_tf.y = 380; addChild(bdate_tf); // выводим имя и фамилию пользователя name_tf.text = response..first_name + ' ' + response..last_name; name_tf.x = 410; name_tf.y = 360; addChild(name_tf); // выводим аватарку пользователя avatar.autoLoad = true; avatar.scaleContent = false; avatar.source = response..photo_big; avatar.move(175,10); addChild(avatar); } // функция генерации сигнатуры private function generate_signature(request_params):String { var signature = ''; // сортируем параметры в алфавитном порядке var sorted_array: Array = new Array(); for (var key in request_params) { sorted_array.push(key + "=" + request_params[key]); } sorted_array.sort(); // создаем строку параметров; for (key in sorted_array) { signature += sorted_array[key]; } signature = viewer_id + signature + secret; return MD5.encrypt(signature); } // http://flapps.ru/forum }}
-
- Сообщения: 20
- Зарегистрирован: 06 авг 2011, 20:54
Re: ВКонтакте API 3.0. Пример простого приложения
У меня не выходит все сделал как написано но белый экран вк, что же не так?