我很确定有一种更简单的方法可以做到这一点,但我要么忘记了怎么做,要么就是它比我想象的要复杂得多。这就是我所拥有的:
class Block(pygame.sprite.Sprite):
def __init__(self, color):
super().__init__()
self.image = pygame.Surface([25, 25])
self.image.fill(color)
self.color = color
self.rect = self.image.get_rect()
这就是我要用到的精灵。
# Block
margin = 50
for i in range(15):
block = Block(black)
block.rect.x = 30 + margin*i
block.rect.y = 25
block_list.add(block)
for i in range(15):
block = Block(black)
block.rect.x = 30 + margin*i
block.rect.y = 75
block_list.add(block)
for i in range(15):
block = Block(black)
block.rect.x = 30 + margin*i
block.rect.y = 125
block_list.add(block)
for i in range(15):
block = Block(black)
block.rect.x = 30 + margin*i
block.rect.y = 175
block_list.add(block)
当我添加block
精灵(在15行中的4行)时,我使用了4个for循环来绘制我想要实现的目标。有没有更简单的方法让我这样做?我几乎可以肯定是有的,但我似乎想不出来。
发布于 2021-01-20 22:50:12
margin = 50
for column in range(4):
for row in range(15):
alien = Alien(green)
alien.rect.x = 30 + margin*row
alien.rect.y = 25 + margin *column
alien_list.add(alien)
all_sprites_list.add(alien)
For循环中的for循环有效。
https://stackoverflow.com/questions/65811540
复制相似问题