2017-06-07 2 views
0

Ich möchte Array String ‚a‘ mit Sprite ersetzen, ich so zeigen Bilder:Wie bekomme ich Zugriff auf Sprite in 2D-Array?

arr = ['a','a','a','a'] 
for i in arr: 
    if i == 'p': 
     arr[i] = Alien("Alien.png", (20,40)) 
print(arr[1])     
# give <Alien sprite(in 0 groups)> 

Als nächstes habe ich versucht, herauszufinden, wie man den Zugriff auf jedes Bild zu bekommen eine Bewegung zu geben, für die nach jedem Bild in Array ersetzen , aber Code funktioniert nicht wie erwartet. Ich weiß nicht, wie man jedes Bild auseinanderhält.

for j in arr: 
    if j == '<Alien sprite(in 0 groups)>': 
     j.move(9,11) 

Antwort

0

In der zweiten Schleife, ich glaube nicht, j == .. favorisieren in Sie arbeiten würde. Wenn Sie das Objekt in der Python-Eingabeaufforderung drucken, würde es <PawnBlue sprite(in 0 groups)> drucken, die Überprüfung der Zeichengleichheit, wie Sie haben, wäre jedoch nicht der richtige Weg, um zu überprüfen, ob dieser bestimmte Array-Index ein Bild enthält oder nicht.

Ich sehe in Ihrer vorherigen Schleife Sie Instanzen der Klasse Alien in das Array einfügen. Angenommen, das sind die Bilder, über die Sie sprechen, in der zweiten Schleife ändern Sie die if-Anweisung zu if type(j) == Alien : Dies sollte funktionieren.

Verwandte Themen