Ответ 1
вот так:
[SWF(backgroundColor="0xec9900")]
public class Main extends Sprite
{
}
Я использую чистый AS3 для создания моего проекта. Мне было интересно, если есть какие-либо изменения цвета фона сцены через AS3... Спасибо за помощь....
вот так:
[SWF(backgroundColor="0xec9900")]
public class Main extends Sprite
{
}
Это создает форму и добавляет ее на сцену за всем. Чтобы изменить цвет в любое время: 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;
}
Хотя у меня такое чувство, что он будет работать где угодно.
Вы можете использовать следующую строку ActionScript 3.0 для установки цвета фона. 0x000000 для черного, 0xFFFFFF для белого и ничего между ними.
this.stage.color = 0x00000;
Вы можете установить цвет фона при инициализации, как упоминалось в @Wopdoowop, но если вы хотите изменить его динамически, вам нужно будет создать свой собственный растровый /sprite/movieclip, который будет действовать как фон (должен идти ниже остальных ваш контент и ширина и высота вашей сцены) и изменить цвет этого растрового изображения/спрайта/мувиклипа.
[SWF(width='700',height='525',backgroundColor='#000000',frameRate='30')]
public class RunTime extends Sprite {
Попробуйте установить backgroundColor объекта приложения.
Я предлагаю сделать спрайт, а затем сделать его в спину. Так я и сделал бы это.
Убедитесь, что 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)
плюс о том, что вы можете нарисовать фон (если хотите) либо вручную, либо с кодом, а затем вставить его через код.