Страница 1 из 2

Проблемма с flashvar

Добавлено: 11 июл 2010, 19:08
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, почему-то не помогло.
Может нужно где-то галочку нажать? или что еще сделать?

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

Добавлено: 11 июл 2010, 19:24
bodnar
Переменная viewer_id объявлена? При компиляции ошибок нет? В контакт загрузили и открываете четез контакт?

Да, еще... контейнер используете?

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

Добавлено: 12 июл 2010, 18:01
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:

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

Добавлено: 12 июл 2010, 18:19
bodnar
Вы бы выложили код который не работает, а не урок в котором все прально...
Делай trace всего что видишь, например сразу после получения viewer_id трейсни и смотри через flashbug в firefox чего он там пишет.

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

Добавлено: 12 июл 2010, 18:28
logado
Этот код у меня и не работает ) Про flashbug не слышал, попробую

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

Добавлено: 12 июл 2010, 19:04
bodnar
logado писал(а):Этот код у меня и не работает
тогда не понял :? Что-то отличий от кода урока я не заметил, скачанный исходник из урока тож не работает?

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

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

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

Добавлено: 13 июл 2010, 14:35
logado
Пока не проверил, на работе сижу. Но вроде понял что делал не так. и Что за контейнер. Я думал это просто рамочка =). А это flash во flash'е получается?

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

Добавлено: 13 июл 2010, 15:07
bodnar
Угу, обертка предоставляющая доступ ко всяким вкусностям. Документацию читай.

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

Добавлено: 13 июл 2010, 20:36
logado
Все работает четко, сразу стало понятно зачем нужен врапер и обертка =) спасибо.