2010-11-29 2 views
2

Comment modifier la couleur d'arrière-plan de l'écran dans ActionScript 3.0? et comment naviguer d'un écran à un autre dans ActionScript3.0; i ont utilisé un bouton dans mon projet, quand je clique sur le bouton de l'écran actuel devrait être invisible et un autre écran devrait seComment modifier la couleur d'arrière-plan de l'écran dans ActionScript 3.0?

dans la méthode onclick j'ai appelé comme ceci:

presentscree.visible = false; nextscreen: NextScreen = nouveau NextScree(); nextscreen.visible = true;

Mais aucun résultat; quelqu'un peut-il m'aider à ce sujet?

+0

s'il vous plaît vérifier le code modifié, juste j'ai oublié un réalisé en ligne pour le changement de couleur de fond! – PatrickS

Répondre

3

Vous devez ajouter l'écran à la liste d'affichage sinon il ne sera pas visible du tout.

var nextScreen : NextScreen = new NextScreen(); 
addChild(nextScreen); 

Vous pouvez changer la couleur d'arrière-plan de votre écran comme celui-ci:

graphics.beginFill(0xBBBBBB, 1); 
graphics.drawRect(0, 0, 800, 600); 
graphics.endFill(); 

Ou, si vous voulez changer la couleur de fond SWF:

package 
{ 

    [SWF(frameRate="30", backgroundColor="0xFFFFFF", width="800", height="600")] 
    public class MyDocumentClass extends Sprite 
    { 
     public function MyDocumentClass() 
     { 
      super(); 
     } 
    } 
} 
+0

Mis en œuvre les deux choses, mais fondre, la couleur n'a pas changé même la navigation n'a pas fait. – ramsbh

+0

Peut-être que vous pouvez poster une partie de votre code pour une aide plus rapide? – Mattias

+0

l'ai eu, la couleur a changé .. – ramsbh

0

Appelez ce Anytime fonction vouloir changer le fondCouleur

private function backgroundColor(color:uint):void 
{ 
    with(this.graphics) 
    { 
    clear(); 
    beginFill(color); 
    drawRect(0 , 0 , Capabilities.screenResolutionX, Capabilities.screenResolutionY); 
    endFill(); 
    } 
} 

    //example 
    backgroundColor(0x990000); 

Pour changer l'écran, vous pouvez ajouter tous vos écrans à un tableau

private var screens:Array = [screen1 , screen2 , ...screenN]; 

//Assuming that all the screens have been added to the DisplayList 
private function selectScreen(index:int):void 
{ 
     //Ensure that the index is within bounds 
     if(index >= screens.length) 
     return; 

     for(var i:int ; i < screens.length ; ++i) 
     { 
      if(i != index) 
      screens[i].visible = false; 
      else 
      screens[i].visible = true;    
     } 
} 

//You could also add your screens with this 
public function addScreen(screen:DisplayObject):void 
{ 
     if(screens == null) 
      screens = []; 

     //add the screen to the Array 
     screens.push(screen); 

     //hide the screen 
     screen.visible = false; 

     //add the screen to the Display List 
     addChild(screen); 

    }