从顶部降低舞台高度



我正试图从顶部降低舞台高度,以便在特定区域下生成物品。HUD所在位置

我曾经把我的HUD放在底部,这没有问题。因为我的函数有:

headY = Math.ceil((((stage.stageHeight - hudHeight)))/(headWidth))*Math.random())*headWidth;

这减少了阶段。stageHeight设置为80,这样头部就可以正常生成。然而,当HUD位于顶部时,情况就不同了。这一行当前所做的是,它使头部不能在stageheight - 80像素下生成,而不是在顶部。

我的问题是;我怎样才能使代码从顶部减小舞台高度

提前感谢,

乔迪

关于我的问题的额外信息:实际上,我所要做的就是"选择"舞台的底部,将舞台从画面中移除。我只是使用舞台高度作为指示器来控制800像素。所以当我操纵舞台高度时,我不需要修改代码。但既然这是不可能的。应该有别的办法。我希望你现在明白我的问题。如果没有,我要做的就是选择80像素以下的所有东西。舞台的高度是800像素,所以我需要选择720像素。但是,我找不到选择底部720像素的方法。

虽然你的问题很难理解,但答案很可能是你不能。stageHeight是只读的。您可以在HTML中设置它,甚至可以将其设置为百分比。但是你不能在Actionscript中修改它

你提问的方式,让人很难理解你想要什么。

我猜你想要的是生成一个给定的对象,并确保它不是在相同的空间中生成的HUD。

所以如果你的屏幕是800 * 800,你的HUD占据了屏幕的整个宽度和屏幕的顶部80像素,你可以尝试这样做来获得一个有效的y刷出位置:

var headY:Number = Math.random() * (800 - 80) + 80;

结果值从80到800;

考虑到你的变量,我建议这样做:

var headY:Number = Math.random() * (stage.stageHeight - hudHeight) + hudHeight; 

现在基于你的代码,似乎你也在努力确保你正在生成的东西不是部分离开屏幕的顶部或底部,所以你需要考虑头部的高度。所以考虑这段代码:

var headY:Number = Math.random() * ((stage.stageHeight - headHeight) - (hudHeight + headHeight)) + (hudHeight + headHeight);

不完全确定这是否是你正在寻找的,但这是我能做的最好的基于你的问题,并试图假设它是你想要的

最新更新