![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2009
Сообщений: 12
|
Вопрос вроде элементарный, но не могу найти ничего конкретного:
Есть массив который описывается в Scene1.Frame1 как: Далее тут же идет его заполнение. Сущесвует DynamicText с расположением: В AC pn1 на 2-ом фрейме , то есть когда этот te1 создается прописываю: Разумеется вылетает ошибка неизвестной переменной NameArr! Как же мне ей прописать глобальность. _global - вроде не помогает. Подскажите! |
|
|||||
|
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
public static const pSQL:String
чтот типа того
__________________
Flex+AS3 good) |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 12
|
public - тока для пакетов, у меня AC в самой Scene прописан
static - для классов Вобщем, не проходит - есть еще варианты? Добавлено через 3 часа 51 минуту Неужели не кто не в курсе???? |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Ну, как бы, создать класс и в нём статическую переменную, раз уж речь идёт о глобальных данных.
А вообще, от них по-возможности надо избавляться. Сквозная функциональность – это ещё куда ни шло, без неё часто никак, но глобальные поля – это уже не хорошо ![]() |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 12
|
Пытаюсь реализовать. Создаю класс:
Подключаю и обрабатываю в Scene1,Frame1: В Мувике на 2-ом фрейме пытаюсь все это вытащить, но неудачно. Код не обрабатывается: |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
package exload{ public class ArrNameClass { public static var nameArr:Array = new Array(); } } ![]() |
|
|||||
|
[+1 17.02.10]
Регистрация: Aug 2009
Адрес: Казахстан Усть-Каменогорск
Сообщений: 249
|
Почему? и вопрос зачем блокировали такой простой весч как глобальные переменные недавно сам с тем же сталкнулся) запарился пока решил как сделать)
__________________
Flex+AS3 good) |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Никто их не блокировал. Просто теперь нельзя обратиться к не определённому явно свойству нединамического объекта. Никто, вам, на самом деле, не мешает сделать
, приведя таким образом любой тип к динамическому типу Object. Почему лучше не делать как в этом и предыдущем примерах? Код написан в кадрах, что само по себе сильно затрудняет его понимание и дальнейшее сопровождение (не говоря уже о встроенном редакторе =). this.mcg.te1.text – явный нетипизированный доступ к какому-то вложенному текстовому полю – тоже не лучший вариант. Ну и привязка к глобальным переменным (или к root) – вообще вещь нехорошая. Ибо, во-первых, таким образом мы лишаемся гибкости, привязывая написанный нами код к каким-то глобальным данным/функциям, без которых он работать не будет. И во вторых, в таком коде намного сложнее разобраться. Естественно, тут всё зависит от того, какую цель мы ставим. Если нужно написать учебную/тестовую программку в пару сотен строк, то писать можно, в принципе, как угодно. Лишь бы не привыкнуть Так как с ростом объёма проектов на первое место выходят такие вещи, как продуманная архитектура, модульность, понятность, гикость, расширяемость. Стабильность, кстати, тоже) Вот тут уже о коде в кадрах, повсеместном нетипизированном доступе и привязке к руту речи идти не может. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Сделайте один глобальный класс Синглетон. Если очень нужно (но не рекомендуется) - сделайте его динамическим.
package { /** * Класс глобальных переменных * @author k0t0vich */ public dynamic class GlobalSingleton { public function GlobalSingleton() { } private static var _instance: GlobalSingleton = null; public static function get instance(): GlobalSingleton{ if(!_instance) { _instance = new GlobalSingleton(); } return _instance; } public function GlobalSingleton() { if(_instance) throw new Error("Use instance method!"); } } }
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 24.11.2009 в 17:30. |
|
|||||
|
ветеран форума
|
В данном случае если уж сильно хочется, то можно создать мувиклип (наприер mcGlobal), который будет присутствовать во всех кадрах (можно даже невидимым или пустым), и ему уже присваивать новый массив и заполнять этот массив, далее так же к массиву через темповый мувик и обпращаться (mcGlobal.nameArr[1]), но это все "костыли".
Если что то нужно во втором кадре то и создавайте это во втором кадре ![]()
__________________
trace("Остановите Землю, я сойду!!!"); |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|