Use code to change background color in AS3?

13,053

Solution 1

The stages background color can be changed using its graphics object.

If you have a reference to the stage:

stage.graphics.beginFill( 0x00FF00 );
stage.graphics.drawRect( 0, 0, stage.stageWidth, stage.stageHeight );
stage.graphics.endFill();

If this is in your document class:

graphics.beginFill( 0x00FF00 );
graphics.drawRect( 0, 0, stage.stageWidth, stage.stageHeight );
graphics.endFill();

Solution 2

I just wanted to add that the stage is kind of the exception of the rule. so to answer your question directly without a solution the answer is no you can't because the stage itself is by default empty with nothing on it. then added to Alan's answer the stage is kind of the ugly duck some of the properties that it inherits as it inherits it's properties from the DisplayObjectContainer don't apply such as you can't set a mask to the stage or change it's x,y and so on. so you can't change the background but Alan's solution is perfect you draw dynamically a shape and place it on your stage and then give it what ever color you want.

Share:
13,053
Moshe
Author by

Moshe

iOS Engineer Website | GitHub | Careers | App Store

Updated on June 04, 2022

Comments

  • Moshe
    Moshe almost 2 years

    Is it possible to change the stage's background through actionscript?

    How do I do it? (Code please.)

  • Moshe
    Moshe over 13 years
    The original works if you set stage.cacheAsBitmap = true, but it won't color outside the stage area. (Think about when using fullscreen or when scaling.)
  • user3087101
    user3087101 over 13 years
    Sprite is not necessary in this case, simply use a Shape
  • Jordan
    Jordan over 13 years
    The Sprite isn't necessary. See my answer.