Встраивание активов высокого или низкого разрешения?AS3 - PullRequest
0 голосов
/ 11 марта 2012

Я встраиваю активы в свой as3, как:

[Embed(source = "assets/images/"+assetSizeString+"/ui/left_thumb.png")]
private static const leftThumb:Class;

, и я хочу, чтобы assetSizeString указывал, импортированы ли активы высокого или низкого разрешения, но я получаю ошибку «Неверные метаданные»

Кто-нибудь есть какие-либо советы, как выбрать высокий или низкий актив с помощью embed?Или исправить эту ошибку?

Спасибо!

1 Ответ

0 голосов
/ 11 марта 2012

Вам придется использовать условную компиляцию.

[Embed(source=config::LEFT_THUMB)]
private static const leftThumb:Class;

И в качестве параметра mxmlc:

mxmlc MyApplication.as \
  -define=config::LEFT_THUMB,"'assets/images/100px/ui/left_thumb.png'"

Примечание: значение заключено в одинарные кавычки, затемдвойные кавычки.

Теперь я представляю, что в вашем приложении много таких активов.В зависимости от того, как вы его компилируете (mxmlc командная строка или ant скрипт), я бы использовал либо переменную оболочки для хранения значения "100px", которая затем интерполируется в каждое имя файла ресурса, либо переменную внутрисценарий ant.

Если вы используете Flash Builder, то, боюсь, вам не повезло, но я не специалист по этому инструменту, так что, возможно, есть способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...