我使用纯AS3来构建我的项目。我想知道是否有任何方法可以通过AS3改变舞台背景颜色......感谢您的帮助......
答案 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)
关于这个问题的一个优点是,您可以手动或使用代码绘制背景(如果需要),然后通过代码将其放入。