2013-03-13 2 views
1

Je souhaite utiliser plusieurs Sprites dynamiques GameCanvas, tels que des coups de feu.Java ME Dessin de plusieurs sprites dynamiques sur GameCanvas

J'ai 2 classes principales: GameCanvas et GameController

GameController est titulaire d'un vecteur de mes coups de feu.

GameCanvas a un accès au vecteur GameController de Sprite et il a également une méthode render() qui dessine Sprites à l'écran.

private void render() { 
      Graphics g = getGraphics(); 

      layerManager.setViewWindow(0, 0, getWidth(), getHeight()); 
      layerManager.paint(g, 0, 0); 

      flushGraphics(); 
} 

LayerManager contient tous les sprites que je veux dessiner.

Comment dessiner tous les objets du vecteur GameController à l'écran?

+0

Si layerManager tient déjà toutes les autres Sprites vous voulez dessiner, alors pourquoi n'êtes-vous pas aussi d'ajouter chaque balle à layerManager lorsque le joueur les feux? –

+0

Je dois donc faire référence à GameCanvas dans GameController, n'est-ce pas? n'est-ce pas un peu brouillon? – jkigel

Répondre

0

Je pense que cela pourrait se faire comme ceci:

Graphics g = getGraphics(); // No need to get this each time you render. Get it once outside the render function 

private void render() { 

    layerManager.setViewWindow(0, 0, getWidth(), getHeight()); 
    layerManager.paint(g, 0, 0); 

    // Loop through the vector 
    for (Enumeration en = gunshotVector.elements(); en.hasMoreElements();) { 
    ((Sprite)en).paint(g); 
    } 

    flushGraphics(); 
} 
Questions connexes