使用代码更改AS3中的背景颜色?

时间:2010-11-09 20:27:41

标签: flash actionscript-3 actionscript flash-cs5

是否可以通过动作脚本更改舞台的背景?

我该怎么办? (代码请。)

4 个答案:

答案 0 :(得分:8)

可以使用图形对象更改舞台背景颜色。

如果您有对舞台的引用:

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

如果这是在您的文档类中:

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

答案 1 :(得分:1)

我只是想补充一点,这个阶段是规则的例外。 所以要在没有解决方案的情况下直接回答你的问题,答案就是你不能,因为舞台本身默认为空,没有任何内容。然后添加到Alan的答案中,舞台是丑陋的一些它继承的属性,因为它从DisplayObjectContainer继承它的属性不适用,例如你不能设置一个掩码到舞台或改变它的x,y等等。因此你无法改变背景,但Alan的解决方案是完美的,你动态绘制一个形状并将其放在舞台上,然后给它你想要的颜色。

答案 2 :(得分:0)

编辑:看起来我的原始答案无效。

您必须在舞台上添加一个精灵并在其上设置颜色。

这样的事情应该有效:

var bg:Sprite = new Sprite();
bg.graphics.beginFill(0xFF0000);
bg.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight);
bg.graphics.endFill();
bg.x = stage.stageWidth;
bg.y = stage.stageHeight;
stage.addChild(bg);

原始

尝试将其设置为红色:

stage.opaqueBackground = 0xFF0000;

只需将0xFF0000更改为您想要的颜色。

答案 3 :(得分:0)

您还可以使用swfobject设置浏览器嵌入的背景。

以下是更多信息和示例代码: http://board.flashkit.com/board/showthread.php?t=814461