sellfisch
Goto Top

Anfängerfrage Images in einem Assoziierten Array ablegen

Ich versuche gerade mich von PHP in Java umzugewöhnen. Dazu bastel ich an einem kleinen Spiel.

In dem Spiel gibt es einen Hauptcharakter der in alle Himmelsichtungen laufen kann. Zu jeder Himmelsrichtung gibt es 3 kleine Bilder, die die Bewegungsanimation darstellen.
Die dazu benötigten Bilder würde ich gerne in einem Array ablegen, damit die nicht zur Laufzeit von der Platte gelesen werden müssen.
In PHP würde mein Array dazu so aussehen.
$animation["nord"][1]=Image.loadFromFile("north1.php");  
$animation["nord"][2]=Image.loadFromFile("north2.php");  
$animation["nord"][3]=Image.loadFromFile("north3.php");  
$animation["sued"][1]=Image.loadFromFile("sued1.php");  
$animation["sued"][2]=Image.loadFromFile("sued2.php");  
$animation["sued"][3]=Image.loadFromFile("sued3.php");  
[...]

Da ich in Java jetzt gezwungen werde, dieses Array zu deklarieren, hab ich gerade ein kleines Problem:
private Image animation={
    		{"nord","sued","ost","west"},  
    		{1,2,3}
    };
Er haut mir das mit folgender Meldung umme Ohren:
Multiple markers at this line
- Type mismatch: cannot convert from String to
Image
- Type mismatch: cannot convert from String to
Image
- Type mismatch: cannot convert from String to
Image
- Type mismatch: cannot convert from String to
Image

Bitte mir den Thread nich gleich um die Ohren hauen...Bin gerade irgendwie zu blockiert dazu (hatte erst einen Kaffee ;))
Vielen Dank schon mal für die Unterstützung

Content-ID: 126700

Url: https://administrator.de/contentid/126700

Ausgedruckt am: 16.11.2024 um 15:11 Uhr

tr3bor
tr3bor 08.10.2009 um 13:08:23 Uhr
Goto Top
schau dir am Besten mal an was das in Java macht so wie du das aufgeschrieben hast!


private Image ani = { {Image11,Image12,Image13},{Image21,Image22,Image23},...};

Du musst also in den geschweiften klammern direkt die Image Objekte eintragen.

Ich meine in Java kann man Arrays nur über Zahlen aufrufen.

ani ist korrekt
aber 
ani[a] nicht

Wenn du das Array direkt so Initialisierst ist auch schon dir Größe fest!
das ist sie zwar immer aber mit
private Image ani = new Image[int1][int2];


kannst du eine "belibiege" größe auswählen. Ohne das die Image objekte schon erstellt sein müssen.