2013-05-27 2 views
0

Я пытаюсь создать какое-то меню, которое перекрывается при вызове (нажатием кнопки меню). Поскольку это мобильное приложение, я хочу, чтобы все меры реагировали и, таким образом, записывались в процентах вместо пикселей.Ширина получается слишком много

Я как-то пытаюсь сделать слайд в меню, таком как приложение Facebook.

Мое решение состоит в том, чтобы иметь боковое меню с шириной 0%. Когда нажимается кнопка меню, меню будет расширяться до 70% ширины экрана устройства, тем самым покрывая 70% ширины.

Я пытался получить это право, делая это

<fx:Script> 
<![CDATA[   
    protected function button1_clickHandler(event:MouseEvent):void { 

    trace(stage.fullScreenWidth, stage.fullScreenHeight);    
    trace(meny.width); 

    if (meny.width !== 0) { 
     meny.width = 0; 
    } else { 
     meny.width = 0.5*stage.fullScreenWidth; 
    } 
    }   
]]> 
</fx:Script> 

Когда я отлаживать правильные значения показывают, трассировке в я. В этом случае, подражая iPhone 4, он дает мне: 540 (ширина) 960 (высота) и 270 (meny.width).

Однако даже то расчет был правильным (270 составляет 50% от 540) ширина MenY будет охватывать более половины экрана, примерно 80% ~

Почему он делает это и то, что решение? Консоль отладки дает мне правильные значения, но она не работает. Я также попытался подключиться к Android-устройству и к той же проблеме, поэтому проблема эмуляции не является проблемой.

Любые решения оценили.

+0

Вы устанавливаете scaleX/Y на любом из родительских объектов? ваш stage.scaleMode установлен на NO_SCALE? – BadFeelingAboutThis

+0

Я не использовал ни один scaleX/Y, ни 'NO_SCALE: String = "noScale"'. Я очень новичок в AS3, начался на прошлой неделе, так что я не настолько опытен. Любой удобный совет станет хорошей отправной точкой. Спасибо – klefar

+0

попробуйте установить: 'stage.scaleMode = StageScaleMode.NO_SCALE;' в вашем конструкторе – BadFeelingAboutThis

ответ

0

Я предлагаю вам использовать размеры ширины приложения вместо ширины сцены: menu.width=parentApplication.width

Вам не нужно иметь дело с размерами сцены, пока вы не добавите какие-то глобальные обработчики событий или использовать что-то вроде StageWebView или StageVideo

Вы можете прочитать это articale about mobile apps auto scaling для получения более подробной информации.

Смежные вопросы