import vk.APIConnectionimport flash.display.Loader;import flash.net.URLRequest;import vk.*;import vk.api.*; var flashVars:Object=stage.loaderInfo.parameters as Object;var VK:APIConnection=new APIConnection(flashVars); var host:String = 'http://...'; var xml:XML = new XML();var uids1:String = '';var auth_key:String=flashVars['auth_key']; getScores(); function getScores():void{ var loader:URLLoader = new URLLoader(); loader.load(new URLRequest(host+'/get_score.php?uid='+flashVars["viewer_id"]+'&auth='+auth_key)); loader.addEventListener(Event.COMPLETE,scoreLoaded);} function scoreLoaded(e:Event):void{ xml = new XML(e.target.data); for (var i:uint;i<xml..user.length();i++) { if (i!=xml..user.length()) { uids1+=xml..user[i].uid+','; } else { uids1+=xml..user[i].uid; } } getProfiles();} function getProfiles():void{ VK.api('getProfiles',{uids:uids1,fields:'first_name,last_name'},ProfilesLoaded,APIError);} function ProfilesLoaded(data:Object):void{ for(var i:uint;i<xml..user.length();i++) { result_txt.appendText(data[i].first_name+" "+data[i].last_name+" : "+xml..user[i].score+'\n'); }} function APIError(data:Object):void{ result_txt.text=data.error_msg;} btn2.addEventListener(MouseEvent.CLICK,postScore); function postScore(e:MouseEvent):void{var loader:URLLoader = new URLLoader();var request:URLRequest = new URLRequest(host+'/score.php');var variable:URLVariables = new URLVariables();variable['uid']=flashVars['viewer_id'];variable['score']=scoreText.textvariable['auth']=auth_key;request.data= variable;loader.load(request);loader.addEventListener(Event.COMPLETE,scorePosted);} function scorePosted(e:Event):void{ scoreText.appendText(' OK'); getScores();}
Все у меня получилось, сделал вывод как в этом уроке http://flapps.ru/forum/topic3403.html, но столкнулся еще с одной проблемой ,когда нажимаешь на аву не переходит на его страницу.
Прошу помощи.
Вот код:
12funteam89
navigateToURL - переход на страницу, trace - вывод строки в окно вывода.
Попробуй раскомменьтить navigateToURL. С data['uid'] и e.currentTarget.uid посмотри что происходит...
Спасибо огромное. А то весь день сегодня с это таблицей рекордов мучаюсь.
И еще у меня остался последний вопрос)
Вот у меня допустим в массив записывается топ 50 игроков, а выводиться на экран только 10, как сделать кнопку далее , чтобы массив передвинулся на следующие 10 игроков?
Введи переменную счетчик var counter:int; при нажатии на кнопку прибавляй к ней 10 counter=counter+10; или отнимай если кнопка назад. а в выводе делай цикл по 10 штук и подставляй в индекс usersBoxArray[counter+i];
var massivfotok:Array=new Array; var massivimen1:Array=new Array; var massivimen2:Array=new Array; var counter:int=0; // кнопка вперед next.addEventListener(MouseEvent.CLICK, nextv); function nextv(Event:MouseEvent) { counter=counter+10; vivodinfa(); } // кнопка назад back.addEventListener(MouseEvent.CLICK, backv); function backv(Event:MouseEvent) { counter=counter-10; vivodinfa(); } function getProfiles():void{ VK.api('getProfiles',{uids:uids1,fields:'first_name,last_name,photo'},ProfilesLoaded,APIError);} function ProfilesLoaded(data:Object):void{ var count = data.length; for (var i=0; i<count; i++) { massivfotok[i] = data[i]['photo']; massivimen1[i] = data[i]['first_name']; massivimen2[i] = data[i]['last_name']; } vivodinfa(); } function vivodinfa():void{ // тут свой код вывода и уже вставляй не data[i]['photo'] а massivfotok[counter+i] for(var i:int=0;i<10;i++) { var user_photo:UILoader = new UILoader ; user_photo.autoLoad = true; user_photo.scaleContent = false; user_photo.source = massivfotok[counter+i]; user_photo.move(15,10); user_box.addChild(user_photo); // и т.д. } }