ActionScript - 为什么Stage没有backgroundColor属性?

时间:2011-02-24 21:54:29

标签: actionscript-3 properties background-color stage

我可以使用SWF元数据标签设置舞台的背景颜色等:

[SWF(width="1024", height="600", frameRate="60", backgroundColor="#000000")]

或者如果我使用的是Flash Professional,我只需在UI中为文档设置这些属性即可。

虽然Stage类提供了设置frameRate并覆盖actionscript中属性的宽度和高度的能力,为什么不能以相同的方式设置舞台的背景颜色?

舞台没有背景颜色的属性(公共或其他)。谁能解释为什么会这样?这对我来说似乎很奇怪,但我认为有一个很好的理由,而不仅仅是疏忽。

1 个答案:

答案 0 :(得分:1)

可以使用SWF元数据设置的背景颜色设置包含SWF的容器的默认背景颜色。如果你使用CSS(etc ...)来操纵该容器的background-color属性,那么它将会改变。您还可以设置wmode = transparent以显示在SWF下呈现的任何内容,而不是背景颜色。

如果您使用的是独立播放器,它可能会也可能不会尊重此元数据值。你可能不应该认为它会。如果您需要保证给定的不透明背景颜色,请在启动时将其绘制到舞台上:

graphics.beginFill(0xFF0000);
graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
graphics.endFill();