Hallo Leute,
ich bin neu im Forum. Seit ungefähr zwei, drei Monaten arbeite ich mit
Java und habe mir schon einiges an Wissen erarbeitet.
Ich wage mich jetzt an Spieleprogrammierung heran. Es soll ein 2D-Spiel
im Stil wie z.b. Pokemon sein. Die Programmiersprache ist Java.
Ich programmiere mit dem Standard JDK 1.6.
Leider stehe ich vor einem Problem. Ich habe ein Object[] objArr definiert
und darin füge ich in jede einzelne Position meine Objekte ein, die später im
Spiel erscheinen(Hintergrundbild, Häuser, Menschen, Tiere,...) sollen.
So schaut es im Code aus:
|
C#-Quelltext
|
1
2
3
4
5
|
Object[] objArr;
objArr[0] = new ObjectType();//DIe Klasse ObjectType hat natürlich setter und getter Methoden, mit der ich später auch die Koordinaten der Figuren ändern kann.
//ich kann leider nicht auf die Methoden zugreifen, weil, sieht selbst:
(ObjectType) objArr[0].setXKoordinate();//...das nicht funktioniert
|
Was mache ich denn falsch?
Danke im voraus
EDIT: Ich habe das jetzt folgendermaßen gemacht:
|
C#-Quelltext
|
1
2
3
4
|
obj.Obj.class.cast(objArr[i]).setX(i+1);
System.out.println(obj.Obj.class.cast(objArr[i].getX());
//mein Programm geht 2x in die for-schleife und als Ergebnis, wird mir in der Konsole angezeigt: 1 und 2,
//d.h. die privaten int in der Klasse Obj im package obj werden für jedes Obj in dem objArr geändert
|
Gibt es eine elegantere Lösung, bzw. ist diese Lösung schlecht?