![]() |
область видимости класса
у меня усть 2 флешки game.swf и base.swf
загружается флешка game она подгружает base в base имеется статичный класс например Config получить этот класс в game можно через getDefinition как сделать так что бы этот класс был виден в любом классе флешки game, можно ли это сделать? если бы класс Config был во флешке game можно было бы в каждом классе (который хочет использовать Config) указать import pack.Config и все, а как быть если класс в другой флешке и получается методом getDefinition ? надеюсь я понятно изложил сють проблемы |
Если не использовать getDefinition, то класс Config зашьется в game.
|
хмм, интересно ) как я могу его использовать?
если я где то использую класс Config то на этапе компиляции флешка ругается что нет такого класса в game.swd |
Там его и не должно быть.
Напишите интерфейс к классу Config и зашивайте в обе флешки. |
Цитата:
можно по подробнее плиз, с фрагментом кода если можно :) |
Фрагменты кода мне лень писать. Как использовать интерфейсы, можно узнать в справке.
|
1) я так понял если я буду использовать интерфейсы то мне нужно реализовать класс Config в обоих флешках, т.к. интефейс не содержит в себе реализации а только описание
2) класс Config будет виден только в классах game и base а мне нужно что бы я мог видеть этот класс из любого класса фвлешки game не имея ссылки на сам класс game. т.е. что бы я мог указать что то вроде import game.Config и использовать его напрямую как это сделать? |
Интерфейс должен быть в обеих флешках, Config (который реализует этот интерфейс) — только в одной.
Допустим, интерфейс называется IConfig, тогда в game мы пишем что-то вроде: Код:
var config:IConfig = …getDefinition('game.Config') as IConfig; |
все это я понял спасибо
если я создал переменную var config:IConfig в базовом классе флешки game как мне получить ссылку на config (из другого класс) если нет ссылки на game могу я как то сделать так что б переменная(класс) config была видна из любого класса флешки game могу ли я в классах game указать что то вроде import game.config и юзать класс config без ссылки на класс game |
STILL.05, я устал объединять за вами посты, если вам нужно что-то добавить — отредактируйте свой пост, благо такая возможность есть.
Используйте статические свойства класса. |
сорри исправлюсь
статические свойства класса использовать можно но тогда для того что бы использовать config нужно писать game.config а хотелось бы один раз прописать в начале import game.config и дальше использовать класс config напрямую без game. ... имеется ли такая возможность во флеше? |
Не понял, что вы хотите и почему вас не устраивают стат. свойства-ссылки на IConfig…
|
:-) можно сказать так: каждый раз когда я хочу использовать класс config мне лень писать game.config, т.к. использовать config буду часто
напоминаю config - класс статичный и создавать объекты этого класса не требуется, в нем есть множество статичных свойств которые нужно получить хотелось бы иметь доступ к свойству(классу) config без использования "game." ... например в классе Avatar флешки game хочу получить из класса config свойство avatar_url в вашем случае в классе Avatar нужно писать Код:
var url:String = game.config.avatar_urlКод:
var url:String = config.avatar_urlя понятно объяснился? |
Кажется кто-то что-то не понимает.
Во-первых, game — это класс или package? Если класс, почему его имя с маленькой буквы начинается? В любом случае схема Game.config будет. |
game - это базовый класс флешки game о которой говорил в начале
т.е. мне в любом случае придется писать Game.config и избежать этого нельзя? |
Цитата:
Цитата:
|
во флешке base.swf есть класс MyClass который нужно получить методом getDefinition
если в классе Base флешки base.swf не создать хотя бы один экземпляр класса MyClass то метод hasDefinition возвращает false почему так? :( |
Потому что класс будет импортирован только в том случае, если он хотя бы раз используется.
|
:-( а если я явно указываю импорт этого класса, неужели этого не достаточно
у меня флешка base.swf это своего рода контейнер классов которые используются во флешках которые загружают в себя base.swf как быть? неужели нужно обязательно создать экземпляр класса что бы он импортировался? |
Цитата:
И причем тут принудительное импортирование класса? У меня подозрения, что ту схему, которую я вам предлагал, вы не поняли. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Прошу, тыкните меня в учебник (не справочник) по проектированию архитектуры приложений на флеше. На русском или английском. Или в хелп.
|
| Часовой пояс GMT +4, время: 14:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.