Вероятно, есть один миллион способов снять шкуру с этой кошки. Один подход: в нашем приложении flex у нас есть холст позади нашего основного контейнера, как в
<mx:Canvas id="bgImg" width="1280" height="800" backgroundImage="assets/background.jpg" />
<containers:FlashContainer id="mainContainer">
<!-- HBoxs, VBoxes and loads of other components -->
</containers:FlashContainer>
Если хотите, вы можете привязать значения к ширине и высоте и отключить полосы прокрутки (чтобы они не всплывали, если изображение больше окна. Что-то вроде:
<mx:Canvas id="bgImg" width="{someVariable}" height="{someOtherVariable}" backgroundImage="assets/background.jpg" horizontalScrollPolicy="off" verticalScrollPolicy="off" />
Вы также можете поиграть со свойством styleName в сочетании с таблицей стилей и изменить другие свойства. Как в:
<mx:Style source="/mainStyle.css"/>
<mx:Canvas id="bgImg" styleName="bgStyle" width="{someVariableOrCalculationOrFunctionCall}" height="{someOtherVariableOrCalculationOrFunctionCall}" backgroundImage="assets/background.jpg" horizontalScrollPolicy="off" verticalScrollPolicy="off" />
Где mainStyle.css - это таблица стилей с целью вдоль линий:
.bgStyle
{
styleName1: styleValue1;
styleName2: styleValue2;
styleName3: styleValue3;
}
Простите, я не знаю, какие стили можно задать на макушке, но их легко найти.
В нашем приложении размер окна фиксирован, и нашему фону никогда не нужно изменять размер. Но если бы это было так, я бы либо
1) привязать ширину / высоту холста к простому вычислению или
2) добавить слушателя, который реагирует на изменения размера событий и устанавливает связанные переменные width и height или
3) поэкспериментируйте с CSS на изображении холста и посмотрите, что я могу сделать
Примечание: чтобы создать привязываемую переменную, вы пишете что-то вроде
[Bindable]
var imageWidth:int;
или
Используйте тег <mx:Binding>
Надеюсь, все это поможет или, по крайней мере, укажет вам направление на помощь!
-kg