在AS3中更改舞台背景颜色?

时间:2010-08-07 23:12:20

标签: flash actionscript-3 background-color

我使用纯AS3来构建我的项目。我想知道是否有任何方法可以通过AS3改变舞台背景颜色......感谢您的帮助......

8 个答案:

答案 0 :(得分:23)

像这样:

[SWF(backgroundColor="0xec9900")]
public class Main extends Sprite
{
    }

答案 1 :(得分:9)

这会创建一个形状并将其添加到所有背后的舞台上。要随时更改颜色,请致电:changeBGColor(0xFF0000)(红色)

当调整窗口大小时,它还会保持背景的大小(覆盖所有区域)。

import flash.display.Sprite;
import flash.events.Event;

var default_bg_color:uint = 0xffffff;

var bgshape:Sprite;
stage.align = "TL";
stage.scaleMode = "noScale";

function initBG()
{
    bgshape = new Sprite();
    bgshape.graphics.beginFill(default_bg_color);
    bgshape.graphics.drawRect(0,0,stage.stageWidth, stage.stageHeight);
    addChildAt(bgshape, 0);
    stage.addEventListener(Event.RESIZE, resizeBGWithStage);
}
function changeBGColor(color:uint) 
{
    bgshape.graphics.beginFill(color);
    bgshape.graphics.drawRect(0,0,stage.stageWidth, stage.stageHeight);
}
function resizeBGWithStage(e:Event)
{
    try {
        bgshape.width = stage.stageWidth;
        bgshape.height = stage.stageHeight;
    } catch(e){}
}

initBG();

答案 2 :(得分:9)

我在creationComplete处理程序

中有这个
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               creationComplete="on_init();">

private function on_init():void {
    stage.color = 0x000000;
}

虽然我觉得它可以在任何地方使用。

答案 3 :(得分:5)

您应该能够使用以下的Actionscript 3.0行来设置背景颜色。黑色为0x000000,白色为0xFFFFFF,两者之间为任何内容。

this.stage.color = 0x00000;

答案 4 :(得分:4)

你可以在初始化时设置背景颜色,就像@Wopdoowop提到的那样,但是如果你想动态地改变它,你需要创建你自己的位图/精灵/动画片段作为背景(应该低于其余部分)您的内容并具有舞台的宽度和高度)并更改该位图/精灵/动画片段的颜色。

答案 5 :(得分:1)

[SWF(width='700',height='525',backgroundColor='#000000',frameRate='30')]
public class RunTime extends Sprite {

答案 6 :(得分:0)

尝试设置应用程序对象的backgroundColor。

答案 7 :(得分:0)

我建议制作一个精灵,然后在后面制作。这就是我的方式。

确保import flash.display.Sprite;

var bkg:Sprite=new Sprite();
//replace the 0x000000 with a hex code.
bkg.graphics.beginFill(0x000000, 1)
bkg.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight)
bkg.graphics.endFill()
addChild(bkg)

关于这个问题的一个优点是,您可以手动或使用代码绘制背景(如果需要),然后通过代码将其放入。