2013-05-27 115 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