2010-08-07 4 views

Antwort

23

wie folgt aus:

[SWF(backgroundColor="0xec9900")] 
public class Main extends Sprite 
{ 
    } 
+4

Die Frage ist 'Ändern ** Stufe ** Hintergrund ...' und diese Antwort zeigt Ihnen, wie Sie die Farbe von MXML-Hauptfarbe ändern. Main MXML ist ein Kind der Bühne. Richtige Antwort ist 'stage.color = 0xABCDEF', die Peter Gibson gab. – marbel82

+0

Peter Gibsons Antwort ist nicht reines AS3 ... – PatrickS

+0

@PatrickS Seine Antwort arbeitet mit reinem AS3. Er hat seine Antwort nur mit Mist verschmutzt, den du nicht brauchst. – Bitterblue

0

Versuchen Sie, die backgroundColor des Anwendungsobjekts festlegen.

+0

Danke ... würden Sie bitte mehr Details erklären? Ich habe versucht google aber konnte nichts finden ..... Danke. – FlyingCat

4

Sie Hintergrundfarbe bei der Initialisierung gesetzt, die Art und Weise @Wopdoowop erwähnt, aber wenn Sie es ändern wollen dynamisch würden Sie benötigen, um Ihre eigene Bitmap/Sprite/Movieclip zu erstellen, würde fungieren als Hintergrund (sollte unter dem Rest Ihres Inhalts gehen und Breite und Höhe Ihrer Bühne haben) und die Farbe dieser Bitmap/Sprite/MovieClip ändern.

9

Dies erstellt eine Form und fügt es der Bühne hinter allem hinzu. Um die Farbe jederzeit zu ändern, rufen Sie an: changeBGColor(0xFF0000) (zu rot)

Es behält auch die Größe des Hintergrunds (deckt den gesamten Bereich), wenn die Fenstergröße geändert wird.

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(); 
+0

Danke Makram ... aber Wopdoowop's Weg ist viel einfacher ...: D +1 obwohl – FlyingCat

+1

Interesting als eine abstrakte Klasse für jede Stufe! – snowflake

9

Ich habe dies in einem creationComplete Handler

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

Obwohl ich habe das Gefühl, es wäre überall zu arbeiten.

+1

Es gibt keine 'Farbe'-Eigenschaft für die Bühne? Flash Player 10? –

+0

Könnte sein - das war Flex4.6 auf Flash Player 11 aus dem Speicher –

+0

Diese Antwort ist fast eine perfekte Antwort auf die Frage oben. Wenn die Stufe nicht null ist, können Sie die Farbe sehen und anzeigen. Es gibt auch ein Ereignis: 'addEventListener (Event.ADDED_TO_STAGE, onAddToStage);' (entferne einfach den XML-Mist, ich benutze pures AS3 und es funktioniert) – Bitterblue

5

Sie sollten in der Lage sein, die folgende Zeile von Actionscript 3.0 zu verwenden, um die Hintergrundfarbe festzulegen. 0x000000 für Schwarz, 0xFFFFFF für Weiß und alles dazwischen.

this.stage.color = 0x00000;

1
[SWF(width='700',height='525',backgroundColor='#000000',frameRate='30')] 
public class RunTime extends Sprite { 
0

Ich schlage vor, ein Sprite zu machen und es dann in den Rücken zu machen. So würde ich es machen.

Stellen Sie sicher, 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) 

ein Plus dabei ist, dass Sie einen Hintergrund ziehen können (wenn Sie möchten) entweder manuell oder mit dem Code und es dann in den Code setzen.

Verwandte Themen