Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
-
gpv123
- Сообщения: 346
- Зарегистрирован: 29 янв 2012, 20:57
Сообщение
gpv123 »
А вот этот код должен работать нормально:
Код: Выделить всё
var quantity:int = 0; var arr:Array = [];var friends:Array = [];var index:int = 0; vkBase.API('execute', {code:'return API.users.get({uids:API.friends.getAppUsers(),fields:"photo"});'}, loadFriends, printError); function loadFriends(response:Array):void{ if (response.length) { quantity = response.length > 6 ? 6 : response.length; for (var i:int = 0; i < quantity; i++) { arr.push([new Loader, new TextField]); arr[i][0].x = arr[i][1].x = 65 + 115 * i; arr[i][0].y = (arr[i][1].y = 575) - 50; arr[i][0].addEventListener(MouseEvent.CLICK, onClick); addChild(arr[i][0]); addChild(arr[i][1]); } friends = response; initFriends(); }} function printError(error:Object):void{ var tf:TextField = new TextField(); tf.x = 100; tf.y = 100; tf.width = 300; tf.height = 300; tf.text = error.error_msg; while (numChildren) removeChildAt(numChildren - 1); addChild(tf);} function onClick(e:MouseEvent):void{ navigateToURL(new URLRequest('http://vk.com/id' + friends[index + (e.target.x - 65) / 115].uid), '_blank');} function initFriends():void{ if (index < 0) index = 0; else if (index + quantity - 1 > friends.length) index = friends.length - quantity - 1; for (var i:int = 0; i < quantity; i++) { arr[i][0].load(new URLRequest(friends[index + i].photo)); arr[i][1].text = friends[index + i].first_name; }} function toLeft(e:* = null):void //перелистывание влево{ index -= quantity - 1; initFriends();} function toRight(e:* = null):void // перелистывание вправо{ index += quantity - 1; initFriends();}
-
Emeltil
- Сообщения: 298
- Зарегистрирован: 26 мар 2011, 15:29
Сообщение
Emeltil »
tamerlankyros писал(а):Подскажите а как их сортировать по уровню в игре??
за деньги могу сделать
-
tamerlankyros
- Сообщения: 34
- Зарегистрирован: 11 июл 2012, 00:38
Сообщение
tamerlankyros »
за деньги могу сделать
Не я прошу лишь подсказать, я хочу сам сделать)
Тем более у меня уже почти все есть не хватает лишь куска кода!
-
gpv123
- Сообщения: 346
- Зарегистрирован: 29 янв 2012, 20:57
Сообщение
gpv123 »
tamerlankyros, перед строкой
Код: Выделить всё
friends = response; // 25-я строка в моем коде выше
можно написать что-то типа
Код: Выделить всё
for(i = 0; i < response.length; i++) response[i].level = %уровень пользователя с идентификатором response[i].uid%; response.sortOn('level', Array.NUMERIC);
-
tamerlankyros
- Сообщения: 34
- Зарегистрирован: 11 июл 2012, 00:38
Сообщение
tamerlankyros »
Код: Выделить всё
response[i].level = %уровень пользователя с идентификатором response[i].uid%;
Я не пойму что вписывать вместо
%уровень пользователя с идентификатором
ответ из БД или что?
-
gpv123
- Сообщения: 346
- Зарегистрирован: 29 янв 2012, 20:57
Сообщение
gpv123 »
tamerlankyros, да, уровень из БД.
-
tamerlankyros
- Сообщения: 34
- Зарегистрирован: 11 июл 2012, 00:38
Сообщение
tamerlankyros »
gpv123 писал(а):tamerlankyros, да, уровень из БД.
Все равно не могу понять сделал вот так
Код: Выделить всё
function get_level2 (data: Object):void { id = data[0].uid; var loadlevel2:URLLoader = new URLLoader(); var requestlevel2:URLRequest=new URLRequest('http://netcity.kiev.ua/get_level.php'); requestlevel2.method=URLRequestMethod.POST; vars['id']=id; vars['level']=level; requestlevel2.data=vars; loadlevel2.addEventListener(Event.COMPLETE, viewlevel2); loadlevel2.load(requestlevel2); function viewlevel2(event:Event):void { // выводим уровень пользователя for(i = 0; i < response.length; i++) { response[i].level = loadlevel2.data response[i].uid; response.sortOn('level', Array.NUMERIC); } } friends = response; initFriends();
Выдает ошибок куча!
Вот еще мой php скрипт
Код: Выделить всё
<?php // Подключаемся к БД include "config.php"; $id = $_POST['id']; $query = "SELECT level FROM users WHERE id='$id'"; $result = mysql_query($query) or die(mysql_error()); $level = mysql_fetch_assoc($result); echo $level ['level']; mysql_close(); ?>
-
sanych_dv
- Разработчик
- Сообщения: 550
- Зарегистрирован: 29 апр 2011, 01:52
Сообщение
sanych_dv »
В PHP:
Код: Выделить всё
$id = $_POST['id'];$level = mysql_result(mysql_query("SELECT level FROM users WHERE id='$id'"), 0);$json = '{"id" : ' . $id . ', "level" : ' . $level . '}';echo $json;
В AS3:
Код: Выделить всё
function viewlevel2(e:Event):void { // выводим уровень пользователя var jsonObj:Object = JSON.parse(e.currentTarget.data); response[jsonObj.id].level = jsonObj.level; response.sortOn('level', Array.NUMERIC); }