|
|
|||||
Регистрация: Mar 2011
Адрес: Ibiza
Сообщений: 13
|
Перелистывание текста xml
есть xml следующего содержания
<?xml version = "1.0" encoding = "utf-8"?> <txt> <text>123</text> <text>456</text> <text>789</text> </txt> var my_xml:XML = new XML(); my_xml.load("data.xml"); my_xml.ignoreWhite = true; var myArray:Array = new Array(); my_xml.onLoad = function() { var arr:Array = my_xml.firstChild.childNodes; trace(arr.length); for (i = 0; i < arr.length; i++) { myArray.push(arr[i].firstChild); } trace(myArray); t.text = myArray[0]; }; next.onRelease = function() { t.text = myArray[++i]; }; back.onRelease = function() { t.text = myArray[--i]; }; Добавлено через 1 час 40 минут проблему решил следующим образом var my_xml:XML = new XML(); my_xml.load("data.xml"); my_xml.ignoreWhite = true; var myArray:Array = new Array(); my_xml.onLoad = function() { var arr:Array = my_xml.firstChild.childNodes; trace(arr.length); for (i = 0; i < arr.length; i++) { myArray.push(arr[i].firstChild); } trace(myArray); t.text = myArray[i=0]; }; next.onPress = function() { t.text = myArray[++i]; }; back.onRelease = function() { t.text = myArray[--i]; }; |
|
|||||
Модрон-ветеринар
|
После работы цикла у вас i останется равным 3. Вы это не учли.
Нужно было определить другую переменную-счетчик, зачем вы вытащили то же i? Надо так: ...... var current:Number = 0; next.onRelease = function() { t.text = myArray[++current]; }; back.onRelease = function() { t.text = myArray[--current]; }; my_xml.load("data.xml") поставьте после определения обработчика my_xml.onLoad, а то нелогично с т.зр. алгоритма - сперва вы стартуете загрузку, и только потом определяете, что делать по ее завершении. (Понятно, что загрузка займет время, а код выполнится гораздо быстрее, но всё-таки).
__________________
Идите первым! Последний раз редактировалось mooncar; 07.09.2011 в 00:33. |
|
|||||
Регистрация: Mar 2011
Адрес: Ibiza
Сообщений: 13
|
как определить эти границы перелистывания?
задаю условие, но в начало массива не возвращает: пробовал и новую переменную создавать и для нее условие создавать, но все точно также.. в чем ошибка?? |
|
|||||
Модрон-ветеринар
|
Массив arr у вас определен внутри функции-обработчика, и снаружи не виден - это локальная переменная функции.
Когда есть проблема, трейсите. Внутрь next.onRelease поставьте trace(arr.length) и увидите. Исходя из этого, чините свой код.
__________________
Идите первым! |
Часовой пояс GMT +4, время: 15:40. |
|
« Предыдущая тема | Следующая тема » |
|
|