Question

Je développe un jeu de simulation de l'hôpital de taille juste en java. En ce moment, ma méthode de la douleur commence à regarder un peu grand, et je besoin d'un moyen de le diviser en différentes sections ... J'ai une idée, mais je ne suis pas sûr que ce soit la meilleure façon. Il commence par la peinture de l'herbe, le bâtiment de l'hôpital, puis tous les bâtiments, puis les gens, puis les avant-premières de construction lors de la construction. Le bâtiment de l'herbe et l'hôpital ne changera pas, donc je seulement besoin de peindre cette fois. Les bâtiments eux-mêmes ne changent pas très souvent, que lorsque de nouvelles sont construites.

Je pensais, utiliser des valeurs booléennes pour déterminer quelles sections doivent être repeintes? Idéal, jaimerais pouvoir diviser la méthode de peinture, puis appeler chacun en cas de besoin, mais je ne suis pas sûr comment diviser physiquement vers le haut.

Je suis encore assez nouveau pour Java, et l'apprentissage de vos déplacements.

Merci d'avance.

Rel

Était-ce utile?

La solution

Une autre idée est de créer une super classe ou de l'interface pour tous les éléments qui doivent être tirés sur l'écran. Permet cvall cette ScreenObject de classe. Vous pouvez alors avoir un tirage au sort de la méthode (Graphics2D g) spécifié dans la classe ScreenObject. Ensuite, chaque objet qui doit être établi en œuvre la méthode draw () et est seulement préoccupé par lui-même dessin. Vous pouvez même envisager de créer une variable qui détermine si cette méthode de tirage doit être exécuté du tout.

Dans la classe principale qui peint l'écran, vous pouvez avoir une référence à tous ScreenObjects dans un ArrayList et votre peinture méthode () simplement itérer sur ce tirage appelant () sur chaque objet.

Autres conseils

Je suppose de votre description de votre scène est subdivisée en types de tuiles. Garder un tableau de booléens est une bonne façon de garder une trace dont les tuiles ont besoin sur la prochaine redessinée mise à jour. Un LinkedList peut effectuer un peu mieux dans certaines situations. (Je pense à un jeu de simulation de vie où il y a des tonnes de tuiles pour redessiner et vous devez vérifier chaque voisin, de sorte que vous ne pouvez pas besoin d'emprunter cette voie.)

Sans voir votre code, je ne peux pas donner des conseils très précis sur le partage de votre méthode de peinture. Je peux vous dire que dans les animations d'images-objets, chaque objet sprite a généralement sa propre méthode de tirage qui prend le principal objet graphique (ou plus probablement un tampon) en tant que paramètre. Étant donné que le sprite doit connaître sa propre image et l'emplacement, il peut alors se dessiner dans l'image principale. Votre méthode de peinture peut alors simplement en boucle dans votre liste de sprites qui doivent être redessinés et appeler leur méthode de tirage.

Vous pouvez regarder tueur de programmation du jeu en Java pour des informations plus détaillées.

Eh bien, je ne suis pas vraiment un expert en programmation, mais de diviser ma méthode de peinture Ive toujours juste fait une nouvelle méthode qui prend un objet graphique et appeler que de la peinture, il m'a toujours aidé à garder mon code organisé, mais je jamais eu un grand projet comme il semble que vous travaillez de sorte qu'il pourrait ne pas fonctionner pour votre situation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top