2013-05-27 66 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 540 50%)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

,直到你添加一些全球性的事件侦听器或使用类似StageWebViewStageVideo

你并不需要处理阶段大小

有关更多详细信息,请参阅此articale about mobile apps auto scaling