【发布时间】:2011-03-26 20:01:29
【问题描述】:
我正在使用纯 AS3 来构建我的项目。我想知道是否有任何方法可以通过 AS3 更改舞台背景颜色...谢谢您的帮助....
【问题讨论】:
标签: flash actionscript-3 background-color
我正在使用纯 AS3 来构建我的项目。我想知道是否有任何方法可以通过 AS3 更改舞台背景颜色...谢谢您的帮助....
【问题讨论】:
标签: flash actionscript-3 background-color
尝试设置应用程序对象的背景颜色。
【讨论】:
像这样:
[SWF(backgroundColor="0xec9900")]
public class Main extends Sprite
{
}
【讨论】:
stage.color = 0xABCDEF 给了 Peter Gibson。
您可以在初始化时设置背景颜色,就像@Wopdoowop 提到的那样,但是如果您想动态更改它,您需要创建自己的位图/精灵/电影剪辑作为背景(应该低于其余部分您的内容并具有舞台的宽度和高度)并更改该位图/精灵/电影剪辑的颜色。
【讨论】:
这将创建一个形状并将其添加到所有内容后面的舞台上。要随时更改颜色,请致电: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();
【讨论】:
我在 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;
}
虽然我觉得它可以在任何地方工作。
【讨论】:
addEventListener(Event.ADDED_TO_STAGE, onAddToStage);(去掉xml废话,我用的是纯AS3就可以了)
您应该能够使用 Actionscript 3.0 的以下行来设置背景颜色。 0x000000 表示黑色,0xFFFFFF 表示白色以及介于两者之间的任何值。
this.stage.color = 0x00000;
【讨论】:
[SWF(width='700',height='525',backgroundColor='#000000',frameRate='30')]
public class RunTime extends Sprite {
【讨论】:
我建议制作一个精灵,然后在后面制作它。我就是这样做的。
请务必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)
一个优点是您可以手动或使用代码绘制背景(如果需要),然后通过代码将其放入。
【讨论】: