0

我正在尝试从顶部降低舞台高度,以使物品在特定区域下生成。HUD 在哪里。

我曾经把我的HUD放在底部,这没有造成任何问题。因为我的功能有:

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

这会将 stage.stageHeight 减少 80,因此头部可以正确生成。但是,当 HUD 位于顶部时,情况并非如此。这条线目前所做的是,它使头部无法在 stageheight 下生成 - 80 像素而不是顶部。

我的问题是;如何使代码从顶部减少舞台高度。

提前致谢,

霍尔迪

关于我的问题的额外信息:我实际上要做的就是“选择”舞台的底部,将舞台留在画面之外。我只是使用 stageheight 作为控制 800 像素的指标。因此,当我操纵舞台高度时,我不必更改代码。但因为这可能是不可能的。应该有不同的方式。我希望你现在明白我的问题。如果没有,我想做的是选择 80 像素以下的所有内容。舞台的高度是 800 像素,所以我需要选择 720 像素。但是,我找不到选择底部 720 像素的方法。只有顶部 720 像素。

4

2 回答 2

1

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

于 2013-01-07T21:55:30.070 回答
0

你的问题的措辞方式让你很难理解你想要什么。

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

因此,如果您的屏幕是 800 x 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);

不完全确定这是否是您正在寻找的东西,但这是我能根据您的问题做的最好的事情,并试图假设您想要什么。

于 2013-01-07T22:43:52.810 回答