首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有更简单的方法来制作4排15个精灵?

有没有更简单的方法来制作4排15个精灵?
EN

Stack Overflow用户
提问于 2021-01-20 22:30:26
回答 1查看 44关注 0票数 0

我很确定有一种更简单的方法可以做到这一点,但我要么忘记了怎么做,要么就是它比我想象的要复杂得多。这就是我所拥有的:

代码语言:javascript
运行
复制
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()

这就是我要用到的精灵。

代码语言:javascript
运行
复制
# 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循环来绘制我想要实现的目标。有没有更简单的方法让我这样做?我几乎可以肯定是有的,但我似乎想不出来。

EN

Stack Overflow用户

发布于 2021-01-20 22:50:12

代码语言:javascript
运行
复制
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循环有效。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65811540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档