Доступ к локальной переменной "извне"
Салют! В AS3 начинающий. Поэтому стлокнулся с такой вот трудностью. Есть код:
Код AS3:
Как это сделать? Только без технарских замашек, а так, чтобы понятно было. Ну или предложите альтернативную реализацию. Просто не хочется весь остальной код писать в функции xmlLoadComplete. Спасибо. Возможно уже и была такая, тема. Даже я ее нашел вроде-бы, но там так написано все, что находясь на моем уровне знаний AS3 сложно понять. |
Код AS3:
|
Насколько я знаю parseInt преобразовывает String в Int. Но это не делает доступной мою переменную newsCount вне функции.
Задача у меня такая, чтобы обработать весь XML, вытянуть с него все и позаливать в переменные. Все. А потом уже у других функциях удобно с ними рабтать, а не в xmlLoadComplete все делать. Кото, что подскажет? |
Нука внимательнее приглядитесь к варианту предложенному Lecosson. он не обращается к newsCount вне функции и притом выполняет поставленную вами задачу - "вытянуть в сего все и позаливать в переменные".
|
Хм, либо я чего-то не пойму либо вы. newsCount - это уже int. Зачем его снова в int преобразовывать? Это раз, а два — это то, что при таком коде:
Код AS3:
|
tfCount'у присваивается 8 только после выполнения xmlLoadComplete. После tfCount=newsCount вызывайте нужную вам функцию в которой будет дальнейшее выполнение программы.
|
напишите просто
Код AS3:
Код AS3:
PS локальные переменные не видны вне области метода |
Цитата:
Если пишу просто tfCount=newsCount — то см. мой код выше. Результат есть, но не тот, что нужно. :) Цитата:
Не хочу остальной код новостоного модуля своего (я его делаю) писать в функции xmlLoadComplete... |
А вы проверяли ?
Код AS3:
Цитата:
Код AS3:
|
Цитата:
|
Цитата:
Хм, что-то я все пробую, что вы советуете и безрезультатно... Тогда приведу в пример код, кот. идет у меня дальше, может сиуация разъяснится :) Код AS3:
|
Прочитайте внимательно полностью моё последнее сообщение.
Код AS3:
|
Ух... сработало :) Спасибо.
Но возникли попутные вопросы: 1. Как этот способ называется? Ну в смысле что мы сделали? Создали новую ф-ю и передали в ее все или как... как это сказать? :) 2. Я попробовал. Теперь массив tf у меня оказался внутри новой ф-ии someMethod (к примеру) и все, что ниже массива и то, что от него зависит — перестало работать, так как массив тоже стал как бы локальным. Как теперь быть? С новой этой ф-ии someMethod таким же способом передавать переменные и каждое действие засовыват в отдельную нову. ф-ю? |
1. Мы ничего не передавали. tfCount, если обьяснить проще глобальная и доступна из любой нашей функции.
2. Можно tf тоже обьявить вне функции чтобы сделать его доступной откуда угодно. Или передать в качестве аргумента (на примере tfCount): Код AS3:
|
Еще раз спасибо. То, что я узнал гораздно облегчит мою деятельность :) Удобно.
Цитата:
alecsisk, если это реализовать гораздо проще — можешь показать тут маленькй примерчик такого же, что делал я только эм... в ООП? :) |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Флудим... |
Вложений: 1
Ставь сразу FD (FlashDevelop), если хочешь чему-нибудь научиться. Если не хочешь, то укажи во Flash класс документа(document class) Main.as из папки src.
|
alecsisk, за вложение спасибо!
На счет FD подумаю, просто я больше дизайнер, нежели программист. Поэтому решаю задачи кодинга по мере их поступления и строго по надобности. |
Часовой пояс GMT +4, время: 04:22. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.