|
|
|||||
Динамическая Embed Image
Здравствуйте!
Подскажите плиз, как заставить Embed работать динамически? вставляю картинки в спрайт: [Embed(source='myinc/img/some_picture.png')] var ico2Class:Class; var ico2:Bitmap = new ico2Class(); |
|
|||||
Регистрация: Nov 2009
Сообщений: 300
|
Цитата:
|
|
|||||
хмм.... а что за сторонние средства?
тогда как с помощью АС3 это сделать? почитал на форуме.... увидел примеры, но у меня не работает: [Embed(source='myinc/img/some_picture.png')] public static var sp:Class; [Embed(source='myinc/img/another_picture.png')] public static var ap:Class; public function getBitmap(str:String=''):Bitmap { var ico2:Bitmap; var cc:Class = getDefinitionByName(str) as Class; ico2 = new cc; return ico2; } getBitmap("sp"); ReferenceError: Error #1065: Переменная sp не определена. Добавлено через 13 минут разобрался. то что выдал вставил в Последний раз редактировалось billion; 02.12.2011 в 09:42. |
|
|||||
И в чем смысл подобных манипуляций?
PS Сторонние средства - это генерация файлов по шаблону перед сборкой приложения. Embed - это мета-тэг компилятора, он к ActionScript особого отношения не имеет.
__________________
...вселенская грусть |
|
|||||
Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
|
@billion, это в любом случае не динамический Embed. Это метод для получения битмапы из текущего ApplicationDomain. При этом битмапа либо была заэмбедена вручную, либо загружена в текущий домен.
А чтобы динамически подгружать картинки в зависимости от переменной house, надо использовать Loader. |
|
|||||
перешёл на лоадер.... теперь идёт динамическая подгрузка с диска.
но это не то что я хотел получить. в своих начальных "махинациях" (см. топик) я хотел налету выбирать встроенную картинку в зависимости от переменной. и быстро и удобно. хоть их и будет около 500, но они все маленькие. недостаток - при появлении 501 картинки, надо перекомпилить код. я пытался сделать так чтобы новые картинки автоматически встраивались в приложение. что у меня в коде происходит? при определённом событии из 500 картинок выбираются некоторые в зависимости от переменных и отображаются несколько копий каждой из них в спрайтах на сцене. например взять хаусе1 и хаусе10 и отобразить 50 копий хаусе1 и 20 копий хаусе2. соответственно требуется чтобы это всё не моргало и отображалось быстро. хотелось бы реализовать следующий механизм: если нужная картинка встроена в приложение - отобразить её. если нет то подгрузить с сервера, встроить в приложение и отобразить. как-то можно это реализовать? |
|
|||||
Регистрация: Oct 2011
Адрес: Питер
Сообщений: 58
|
Вообще, 500 картинок, заэмбеденых во флешку - это не самый лучший подход.
Ну а если вы хотите проверять зашита ли картинка во флешку, то тут приходит в голову 2 варианта: 1. Некий ResourceManager, который знает какие картинки вшиты во флешку, какие уже загружены, а какие надо загрузить. Соответственно перед получением картинки проверять ее существование в менеджере. 2. В Вашем методе поставить getDefinitionByName в try..catch. Если картинка не найдена в домене приложения, метод выбросит исключение, и значит картинку надо загрузить. |
|
|||||
точно! блин.... заработался. пока ходил курить тоже пришёл к такому же решению. благодарю
|
Часовой пояс GMT +4, время: 03:52. |
|
« Предыдущая тема | Следующая тема » |
|
|