2010-11-09 10 views

Odpowiedz

8

Kolor tła etapów można zmienić za pomocą jego obiektu graficznego.

Jeśli masz odniesienie do stopnia zaawansowania:

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

Jeśli jest to w swojej klasie dokumentu:

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

Edytuj: Wygląda na to, że moja oryginalna odpowiedź nie działa.

Będziesz musiał dodać duszka do sceny i ustawić kolor na tym.

Coś jak to powinno działać:

var bg:Sprite = new Sprite(); 
bg.graphics.beginFill(0xFF0000); 
bg.graphics.drawRect(0,0,stage.stageWidth,stage.stageHeight); 
bg.graphics.endFill(); 
bg.x = stage.stageWidth; 
bg.y = stage.stageHeight; 
stage.addChild(bg); 

Original:

Spróbuj tego, aby ustawić go na czerwono:

stage.opaqueBackground = 0xFF0000; 

Wystarczy zmienić 0xFF0000 do koloru chcesz.

+0

Oryginalne prace jeśli ustawisz 'stage.cacheAsBitmap = TRUE, ale nie kolor poza obszarem sceny. (Zastanów się, kiedy używasz trybu pełnoekranowego lub podczas skalowania). – Moshe

+1

Sprite nie jest w tym przypadku konieczny, po prostu użyj kształtu – OXMO456

+0

@Moshe, jeśli ustawisz cacheAsBitmap na scenie otrzymasz błąd 2071 ... – OXMO456

1

Chciałem tylko dodać, że scena jest rodzajem wyjątku z reguła. więc, aby odpowiedzieć na twoje pytanie bezpośrednio bez rozwiązania, odpowiedź brzmi: nie, nie możesz, ponieważ sam etap jest domyślnie pusty i nic na nim nie ma. następnie dodany do odpowiedzi Alana, scena jest rodzajem brzydkiej kaczki, niektóre z właściwości, które dziedziczy po przejęciu jej właściwości z DisplayObjectContainer nie mają zastosowania, ponieważ nie można ustawić maski na scenie lub zmienić jej x, y i tak dalej. więc nie możesz zmienić tła, ale rozwiązanie Alana jest idealne, dynamicznie rysujesz kształt i umieszczasz go na scenie, a następnie nadajesz mu dowolny kolor.

Powiązane problemy