гибкий провод actionscript, как отправить ширину браузера в сам swf

Я работаю с гибким проводом, но actionscript идеи так же хороши.

Гибкий провод <s:Application> тег имеет height="100%" width="100%" таким образом, swf соответствует браузеру, поскольку браузер изменен.

Моя проблема состоит в том, что у меня есть a <s:Label> то, что я должен расположить на основе реального/текущего размера браузера.

<s:Application height="100%" width="100%">
     .....
     <s:Label text="hello" x="?" y=">" />

</s:Application>

Я слышал, что возможно использовать Application.application.width; но я получаю ошибку компиляции, что она не знает, каково это.

Любые идеи, как сделать это. Я пытаюсь получить текущий размер swf в браузере, поскольку браузер изменяет размер.

6
задан touB 18 March 2010 в 17:39
поделиться

4 ответа

Насколько я могу судить, следующее должно работать. Application.application просто то же самое, что и это, при условии, что вы находитесь в базовом приложении. Привязка должна позволять изменять размер после инициализации.

<s:Application height="100%" width="100%">
     .....
     <s:Label text="hello" x="{width}" y="" />

</s:Application>

Редактировать: Я только что проверил, и это действительно работает. Чтобы поместить ваш Label в середину сцены, вы просто должны поместить его так

<s:Application height="100%" width="100%">
         .....
         <s:Label text="hello" x="{width/2}" y="{height/2}" />

</s:Application>
3
ответ дан 17 December 2019 в 18:13
поделиться

вы можете узнать размер сцены только тогда, когда элемент добавляется внутри сцены, вы можете попробовать такой делегат события

app.addEventListener(Event.ADDED_TO_STAGE,init);
private function init(evt:Event):void{
   trace(stage.stageWidth);
   trace(stage.stageHeight);
}
0
ответ дан 17 December 2019 в 18:13
поделиться

Вызов функции JavaScript при изменении размера браузера. Оттуда получите ссылку на swf и вызовите функцию AS, чтобы изменить размер метки. Передайте ширину / высоту браузера.

См. Пример здесь

ОБНОВЛЕНИЕ: Исправление: ExternalInterface переходит от AS к JS.

0
ответ дан 17 December 2019 в 18:13
поделиться

Не совсем понятно, что вы пытаетесь сделать. x и y - это позиционные элементы, ширина и высота - это элементы размера. Если вы размещаете этикетку, вам, вероятно, следует использовать верхний, левый, правый и нижний , а не x и y , если хотите. по размеру как размеры родительского элемента управления.

Если вы хотите, чтобы метка была центрирована, вы можете использовать horizontalCenter и verticalCenter .

Если вы поместите его в элемент управления макетом, например панель или холст , вы можете просто установить для его слева и справа значение 0 и имеют размер родительского холста.

Если ваша метка всегда находится в другом месте в зависимости от размера, вы можете переопределить updateDisplayList , чтобы установить позицию. Это действует независимо от того, помещаете ли вы его в элемент управления макетом или нет.

0
ответ дан 17 December 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: