不能根据设备屏幕高度放置项目

时间:2014-06-07 08:59:32

标签: actionscript-3 actionscript

我正在尝试在屏幕底部添加一个孩子。

我正在使用stage.stageHeight,但它似乎无法正确获取设备的高度。 它在孩子(s6)和屏幕底部之间留下了很大的差距。

代码:

addEventListener(Event.ADDED_TO_STAGE, onadded);
function onadded (event:Event):void{
    addChild(s6);
    s6.y = stage.stageHeight - s6.height;
    s6.width = width - 20;
    s6.x = stage.x+10;
}

编辑:

addEventListener(Event.ADDED_TO_STAGE, onadded);
 function onadded (event:Event):void{




            addChild(s7);
            s7.width = stage.stageWidth;
            stage.align = StageAlign.TOP_LEFT;
            addChild(s6);
            trace(stage.fullScreenWidth);
            trace(stage.fullScreenHeight);
            s6.y = stage.fullScreenHeight - s6.height;
            s6.width = width - 20;
            s6.x = stage.x+10;
            s6.account.addEventListener(MouseEvent.CLICK, fl_ClickToGoTomyaccount);
            s6.automatch.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAAA);
               s6.search.addEventListener(MouseEvent.CLICK, fl_ClickToGoTosearchpage);


                s7.myaccount.addEventListener(MouseEvent.CLICK, fl_ClickToGoTomyaccount);
                s7.autmatch.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAAA);

             s7.sssearch.addEventListener(MouseEvent.CLICK, fl_ClickToGoTosearchpage);


             }

2 个答案:

答案 0 :(得分:1)

您可以使用屏幕分辨率属性并在代码中使用它们。

我做了一个这样的例子,它在不同的屏幕分辨率上有所不同。

var screenWidth:int = Capabilities.screenResolutionX;
var screenHeight:int = Capabilities.screenResolutionY;
this.width= screenWidth - (screenWidth / 2);  
this.height=screenHeight - 200;

希望它对您有用

答案 1 :(得分:0)

我认为您应该使用fullScreenHeight代替stageHeighthttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#fullScreenHeight

在使用移动设备时尤其如此。 stageHeightstageWidth不是很可靠。

您可能还想等待初始化应用后拍摄的RESIZE事件,然后您可以再次使用stageHeight