如何访问二维数组中的精灵?

How to get an access to sprite in 2d array?

我想用 sprite 替换数组字符串 'a',因此我显示图像 :

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)>

接下来,我试图弄清楚如何访问每个图像,以便在数组中替换后为每个图像提供一个动作,但代码没有按我预期的那样工作。不知道如何把每张图片分开操作?

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

在第二个循环中,我认为 j == .. 不会对您有利。当您在 python 提示中打印对象时,它会打印 <PawnBlue sprite(in 0 groups)>,但是检查字符串是否相等并不是检查特定数组索引是否包含图像的正确方法。

我在您之前的循环中看到您正在将 Alien class 的实例插入到数组中。假设这些是您正在谈论的图像,在第二个循环中将 if 语句更改为 if type(j) == Alien : 这应该有效。