То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
dead_luminor
Сообщение
dead_luminor » 24 май 2010, 23:35
Как подгружать во флэш данные из xml?
допустип есть ответ от php файла
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?><response><user><id>user1</id><score>15</score></user><user><id>user2</id><score>12</score></user><id>user3</id><score>12</score></user><id>user4</id><score>12</score></user><id>user5</id><score>12</score></user></response>
как принимать такого рода запросы?
bodnar
Модератор
Сообщения: 1399 Зарегистрирован: 03 апр 2010, 06:41
Сообщение
bodnar » 25 май 2010, 05:02
Код: Выделить всё
loader = new URLLoader(...);loader.addEventListener(Event.COMPLETE,completeHandler);function completeHandler(e:Event){trace(loader.data);}
dead_luminor
Сообщение
dead_luminor » 25 май 2010, 07:53
это я знаю..я не понимаю как конкретно <user>1</user>записать в текстовую строку user_tf. А score записать в <score>1</score> score_tf....
Ведь оно передается куском цельным...
bodnar
Модератор
Сообщения: 1399 Зарегистрирован: 03 апр 2010, 06:41
Сообщение
bodnar » 25 май 2010, 09:47
каким куском? может toString() поможет?
совесть
Разработчик
Сообщения: 156 Зарегистрирован: 22 дек 2009, 23:58
Сообщение
совесть » 25 май 2010, 14:01
Код: Выделить всё
var xmlLoader:URLLoader = new URLLoader(); var xmlData:XML = new XML(); xmlLoader.addEventListener (Event.COMPLETE, LoadXML); xmlLoader.load (new URLRequest("ТВОЙ ЗАПРОС")); function LoadXML (event:Event):void { for (var i:uint = 0; i < 20; ++i) {tf.text += xmlData.id[i].toString() + "\n";tf.text += xmlData.score[i].toString() + "\n"; } }
выводим топ 20 пользователей. тебе ведь что-то типа этого надо?
dead_luminor
Сообщение
dead_luminor » 25 май 2010, 18:10
выдает ошибку:
Код: Выделить всё
Warning: 3551: Appending text to a TextField using += is many times slower than using the TextField.appendText() method.
вот мой php файл:
Код: Выделить всё
<?php $db = mysql_connect ("host","baseuser","basepasword"); mysql_select_db("basename",$db); mysql_query("SET NAMES 'utf8'"); $result = mysql_query("SELECT uid, size from basename order by size desc limit 5",$db); echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; echo "<response>"; for ($i=0; $i<mysql_num_rows($myrow);$i++){ $r = mysql_fetch_array($myrow); echo"<user>"; echo"<id>".$r['id']."</id>"; echo"<score>".$r['score']."</score>"; echo"</user>";}echo "</response>";?>?>
в мускуле две строки id и score
совесть
Разработчик
Сообщения: 156 Зарегистрирован: 22 дек 2009, 23:58
Сообщение
совесть » 25 май 2010, 23:57
Код: Выделить всё
for (var i:uint = 0; i < 20; ++i) {tf.text += xml.user[i].uid.toString() + "\n";tf_score.text += xml.user[i].score.toString() + "\n"; }
число 20 меняешь на кол-во людей, которых надо вывести. у меня всё работает.
dead_luminor
Сообщение
dead_luminor » 26 май 2010, 12:43
незнаю...((
ну запрос прииходит вот такой от php...но во флеш вставить не могу...на твой код ругается
Код: Выделить всё
<response> <user> <id> 1000000</id> <score> 2147483647</score> </user> <user> <id> 15000000</id> <score> 454645645</score> </user></response>
совесть
Разработчик
Сообщения: 156 Зарегистрирован: 22 дек 2009, 23:58
Сообщение
совесть » 26 май 2010, 14:55
Код: Выделить всё
var xmlData:XML = new XML("<response><user><id>1000000</id><score> 2147483647</score></user><user><id>15000000</id><score>454645645</score></user></response>"); var count: uint = xmlData.user.length();//сколько юзеров нам пришлоfor (var i:uint = 0; i < count; ++i) {trace(xmlData.user[i].uid.toString());trace(xmlData.user[i].score.toString()); }
у меня всё работает
dead_luminor
Сообщение
dead_luminor » 26 май 2010, 16:32
почемуто оно выберает на фанарь какой постить, и постит
не все 5, а только 1 почемуто
причем рандомно как-то...
вместо трэйс я сделал сразу в текстовое поле, может из-за этого?
Код: Выделить всё
tf.text=xmlData.user[i].uid.toString();tf2.text=xmlData.user[i].score.toString();