2012-07-17 2 views
0

J'ai récemment commencé à coder un jeu vidéo 3D dans le cadre de mon projet personnel IB MYP. Bien que je connaisse une quantité suffisante de Java, j'ai du mal à faire travailler mes classes ensemble. Ce que j'essaye de faire est de créer un bloc appelé bloc qui définit un bloc et toutes ses propriétés, puis appelle la classe de bloc pour une description de base d'un bloc chaque fois que je crée un bloc individuel avec des propriétés uniques. J'ai essayé s'étend qui fonctionne, mais je devrais créer une nouvelle classe d'extension pour chaque bloc unique, et j'ai essayé de créer un objet, mais cela ne fonctionnera pas. Toutes mes recherches se sont avérées sèches. Voici mon code:Appeler un objet avec des variables statiques

package src; 

public class Block { 
    //Defines a Block 

    double id; //Full = type, decimal = subtype 
    String type; //Name/tooltip 
    int sound; //Type of sound played on collision 
    int light; //Ammount of light given off 
    boolean breaks; //Wether the block is breakable 
    boolean solid; //Wether the block has collision detection 

} 

Comment puis-je aller à appeler cet objet à plusieurs reprises dans une autre classe, chaque fois avec toutes les valeurs légèrement différentes?

+1

Créer plusieurs objets? Je ne comprends pas ... –

+0

Je ne vois rien de statique ici. Ce code ne fait rien non plus, non plus; ça définit juste une classe. Comment essayez-vous de l'utiliser? –

+0

Donc vous voulez avoir plusieurs objets différents qui sont comme Block? Comme Block1, Block2, Block3, etc ou vous voulez simplement créer ... plusieurs objets Block avec des valeurs différentes pour id, type, etc? – Sterling

Répondre

2

Vous pourriez avoir un constructeur pour un bloc comme suit:

public Block(double id, String type, int sound, int light, boolean breaks, boolean solid) { 
    this.id = id; 
    this.type = type; 
    this.sound = sound; 
    this.light = light; 
    this.breaks = breaks; 
    this.solid = solid; 
} 

Avec cela, vous pouvez créer autant de différents types de blocs que vous voulez.

+0

Merci! Je vais essayer ça. – BackToOwlTracks

+0

Cela a fonctionné! Je savais qu'il y avait une solution simple. Merci de l'avoir mis en lumière :) – BackToOwlTracks

+0

Juste fait mon boulot;) – jrad

0

1. Si les valeurs ne cessent de changer, mieux vaut faire de cette classe Résumé.

2. Ensuite, vous pouvez avoir un constructeur personnalisé pour initialiser l'état de chaque objet différemment.

par exemple:

public Block(double id, String type, int sound, int light, boolean breaks, boolean solid)

3. Avez méthodes getter de sorte que vous pouvez extraire les valeurs des variables.

+0

Merci, j'en aurai aussi besoin car certaines de mes classes impliqueront plusieurs variations différentes de l'objet. Je vous remercie :) – BackToOwlTracks