Имя находится в externalXML..first_name
Просто так взять и убрать "externalXML.." нельзя.
Если бы ты создал переменную first_name и в неё записал полученное имя, то возможно, твой код со второго кадра и работал бы.
вопрос именно в том, как это сделать?
во втором кадре, я так вписываю переменную в структуру XML, затем отправляю через PHP на сервер.
вот только не могу понять, как мне эту переменную объявить... если она только в первом кадре... и то с externalXML-ом... как вынести ее за приделы этой функции - понятия не имею
Tslav, переменная из первого кадра не видна во втором? Я не работаю с кадрами, поэтому точного совета дать не могу. Если второй кадр ключевой, то переменная не будет видна.
var api_id:Number=1735784;// id вашего приложения
var api_secret:String="e8poDj8ItM";// секретный ключ
var externalXML:XML;
var loader:URLLoader = new URLLoader();
var photoLoader:Loader = new Loader();
var viewer_id:Number;
var sig:String;
var uid:String;
var bdate_txt:TextField = new TextField();
var name_txt:TextField = new TextField();
//считываем значение из переменной FlashVars и преобразуем строку в число
//если params['viewer_id'] нет, то будет принято значение 1. Если не загружать в контакт, то оно будет 1
var params:Object=LoaderInfo(root.loaderInfo).parameters;
viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1;
getProfile(viewer_id);
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);
}
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);
pole.text=uname;
var photo=externalXML..photo_big;
var request2:URLRequest=new URLRequest(photo);
photoLoader.load(request2);
photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
} else {
trace("Error!");
}
}
function onLoaded(e:Event):void {
photoLoader.x = (550-photoLoader.width)/2;
photoLoader.y = (400-photoLoader.height)/2;
}
//вот тут хочу его увидеть...
Tslav, значение из externalXML..first_name можно будет считать только после того как будет событие onComplete. Если ты пытаешься считать оттуда до этого события, то это не получится, т.к. значения там ещё нет.
Tslav, чтобы программировать на actionscript, нужно знать что такое события. Действия функций происходят не в той последовательности в которой они написаны, а в той в которой они используются.