Проблемма с flashvar

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
logado
Сообщения: 5
Зарегистрирован: 11 июл 2010, 19:02

Проблемма с flashvar

Сообщение logado »

Пытаюсь вывести информацио о пользователе который открывает приложение.
Сталкнулся с такой проблеммой что немогу получить viewer_id.
Если прописать viewer_id статично все работает.
Получаю так

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

var params:Object = LoaderInfo(root.loaderInfo).parameters; viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1; 
пробовал за место root использовать stage, тогда приложение просто загружается и не чего не
происходит. Нашол кучю примеров как получить viewer_id, почему-то не помогло.
Может нужно где-то галочку нажать? или что еще сделать?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемма с flashvar

Сообщение bodnar »

Переменная viewer_id объявлена? При компиляции ошибок нет? В контакт загрузили и открываете четез контакт?

Да, еще... контейнер используете?
logado
Сообщения: 5
Зарегистрирован: 11 июл 2010, 19:02

Re: Проблемма с flashvar

Сообщение logado »

Спасибо за отклик.
Вот код примера который использую чтобы начать. Если не ошибаюсь нашел где-то на этом форуме )

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

 package {    import flash.net.URLLoader;    import flash.net.URLRequest;    import flash.display.*;    import flash.events.*;    import flash.text.*;    import flash.display.LoaderInfo;     public class Main extends Sprite {        private var api_id:Number=100500; // id вашего приложения        private var api_secret:String="xxxxxxxxxx"; // секретный ключ        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 dbg_text:TextField = new TextField();         public function Main():void {            var self = this;            var params:Object = LoaderInfo(root.loaderInfo).parameters;             viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1;            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);        }     }} 
При компеляции ошибок нет. Долго мучил MD5 но одолел =)

В настройках приложения:
Настройки контейнера
тип Flash
Flash-контейнер:без отступов и элементов управления.

Чтобы убедится что приложение загружается рисовал линию. Линию после загрузки вижу а скрипт работать не хочет =(. Если вбиваю cвой viewer_id (статично без loaderInfo) приложение начинает работать. :shock:
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемма с flashvar

Сообщение bodnar »

Вы бы выложили код который не работает, а не урок в котором все прально...
Делай trace всего что видишь, например сразу после получения viewer_id трейсни и смотри через flashbug в firefox чего он там пишет.
logado
Сообщения: 5
Зарегистрирован: 11 июл 2010, 19:02

Re: Проблемма с flashvar

Сообщение logado »

Этот код у меня и не работает ) Про flashbug не слышал, попробую
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемма с flashvar

Сообщение bodnar »

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

Re: Проблемма с flashvar

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

bodnar писал(а):Да, еще... контейнер используете?
logado писал(а):Flash-контейнер:без отступов и элементов управления.
из урока, из которого взят код:
Александр писал(а):- Если включен контейнер, то выключаем: Без использования контейнера.
logado
Сообщения: 5
Зарегистрирован: 11 июл 2010, 19:02

Re: Проблемма с flashvar

Сообщение logado »

Пока не проверил, на работе сижу. Но вроде понял что делал не так. и Что за контейнер. Я думал это просто рамочка =). А это flash во flash'е получается?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемма с flashvar

Сообщение bodnar »

Угу, обертка предоставляющая доступ ко всяким вкусностям. Документацию читай.
logado
Сообщения: 5
Зарегистрирован: 11 июл 2010, 19:02

Re: Проблемма с flashvar

Сообщение logado »

Все работает четко, сразу стало понятно зачем нужен врапер и обертка =) спасибо.
Ответить