15

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

4

8 回答 8

23

像这样:

[SWF(backgroundColor="0xec9900")]
public class Main extends Sprite
{
    }
于 2010-08-08T06:49:22.377 回答
10

我在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;
}

虽然我有一种感觉,它可以在任何地方工作。

于 2012-02-05T11:54:07.423 回答
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();
于 2010-08-08T08:24:19.080 回答
5

您应该能够使用 Actionscript 3.0 的以下行来设置背景颜色。0x000000 表示黑色,0xFFFFFF 表示白色以及介于两者之间的任何值。

this.stage.color = 0x00000;

于 2013-07-05T06:34:48.987 回答
4

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

于 2010-08-08T08:01:57.577 回答
1
[SWF(width='700',height='525',backgroundColor='#000000',frameRate='30')]
public class RunTime extends Sprite {
于 2013-07-13T12:51:14.913 回答
0

尝试设置应用程序对象的背景颜色。

于 2010-08-07T23:27:33.677 回答
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)

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

于 2016-10-29T05:38:13.290 回答