![]() |
|
|
![]() |
![]() |
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
Регистрация: May 2006
Сообщений: 21
|
![]() Салют! В AS3 начинающий. Поэтому стлокнулся с такой вот трудностью. Есть код:
var tfCount:int; function xmlLoadComplete(event:Event):void { var newsPaper:XML = new XML(event.target.data); var newsCount:int = newsPaper.@count; } Как это сделать? Только без технарских замашек, а так, чтобы понятно было. Ну или предложите альтернативную реализацию. Просто не хочется весь остальной код писать в функции xmlLoadComplete. Спасибо. Возможно уже и была такая, тема. Даже я ее нашел вроде-бы, но там так написано все, что находясь на моем уровне знаний AS3 сложно понять. |
|
|||||
Регистрация: May 2006
Сообщений: 21
|
Насколько я знаю parseInt преобразовывает String в Int. Но это не делает доступной мою переменную newsCount вне функции.
Задача у меня такая, чтобы обработать весь XML, вытянуть с него все и позаливать в переменные. Все. А потом уже у других функциях удобно с ними рабтать, а не в xmlLoadComplete все делать. Кото, что подскажет? Последний раз редактировалось Ynks; 15.10.2009 в 10:22. |
|
|||||
Нука внимательнее приглядитесь к варианту предложенному Lecosson. он не обращается к newsCount вне функции и притом выполняет поставленную вами задачу - "вытянуть в сего все и позаливать в переменные".
|
|
|||||
Регистрация: May 2006
Сообщений: 21
|
Хм, либо я чего-то не пойму либо вы. newsCount - это уже int. Зачем его снова в int преобразовывать? Это раз, а два — это то, что при таком коде:
var tfCount:int; function xmlLoadComplete(event:Event):void { var newsPaper:XML = new XML(event.target.data); var newsCount:int = newsPaper.@count; //newsCount = 8; tfCount=newsCount; //либо parseInt(newsCount) — этот код не работает, только что попробовал; trace(tfCount);//Выведет 8 } trace(tfCount);//Выведет 0 Последний раз редактировалось Ynks; 15.10.2009 в 10:32. |
|
|||||
tfCount'у присваивается 8 только после выполнения xmlLoadComplete. После tfCount=newsCount вызывайте нужную вам функцию в которой будет дальнейшее выполнение программы.
|
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
напишите просто
скорее всего Lecosson просто не обратил внимания на тип и подумал, что это строка PS локальные переменные не видны вне области метода |
|
|||||
Регистрация: May 2006
Сообщений: 21
|
Цитата:
Если пишу просто tfCount=newsCount — то см. мой код выше. Результат есть, но не тот, что нужно. ![]() Цитата:
![]() Не хочу остальной код новостоного модуля своего (я его делаю) писать в функции xmlLoadComplete... |
|
|||||
А вы проверяли ?
var tfCount:int; xmlLoadComplete(null); function xmlLoadComplete(event:Event):void { tfCount=8; someMethod(); } function someMethod():void { trace(tfCount); // 8 } Цитата:
var tfCount:int; function xmlLoadComplete(event:Event):void { var newsPaper:XML = new XML(event.target.data); var newsCount:int = newsPaper.@count; //newsCount = 8; tfCount=newsCount; //либо parseInt(newsCount) — этот код не работает, только что попробовал; trace(tfCount);//Выведет 8 } trace(tfCount);//Выведет 0 Последний раз редактировалось alecsisk; 15.10.2009 в 11:18. |
|
|||||
Регистрация: Mar 2008
Сообщений: 215
|
вы свой код вызывайте из xmlLoadComplete
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:27. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|