亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的組列表一次僅渲染 1 個精靈?

為什么我的組列表一次僅渲染 1 個精靈?

慕田峪9158850 2024-01-16 15:21:20
我最近觀看了 Tech with Mike 的太空入侵者視頻,我認為組列表很有趣。我嘗試用它制作一個粒子列表。它一直有效,直到顆粒落到底部,而我在回收它們時遇到了麻煩。它不會渲染所有內容,僅渲染一個立方體。import pygameimport randompygame.init()win_height=600win_width=800win=pygame.display.set_mode((win_width,win_height))pygame.display.set_caption("List practice")white=(255,255,255)black=(0,0,0)clock=pygame.time.Clock()class particle_class(pygame.sprite.Sprite):    def __init__(self):        pygame.sprite.Sprite.__init__(self)        self.image=pygame.Surface((25,25))        self.image.fill(white)        self.rect=self.image.get_rect()        self.speed=0    def update(self):        self.rect.y+=self.speed        particles=pygame.sprite.Group()for i in range(100):    particle=particle_class()    particle.speed=random.randrange(5,11)    particle.rect.y=0    particle.rect.x=random.randrange(0,win_width+1)    particles.add(particle)while True:    clock.tick(60)    for event in pygame.event.get():        if event.type==pygame.QUIT:            pygame.quit()    win.fill(black)    particles.update()    particles.draw(win)    pygame.display.update()    for i in particles:        if particle.rect.y>win_height:            particle.rect.y=0
查看完整描述

1 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

您想要遍歷 的列表particles。該for循環對列表中的每個項目(可迭代)運行,并允許您訪問列表中的當前項目。如果這樣做for i in particles:,i是列表的一個元素。i只是引用列表中當前項目的變量名稱。您可以在此位置使用任何您想要的名稱(i、particle、hugo、 ...)。您只需在循環中使用相同的名稱(變量)即可訪問該項目。參見for聲明。


任何一個


for i in particles:

   if i.rect.y > win_height:

       i.rect.y = 0

或者


for particle in particles:

    if particle.rect.y > win_height:

        particle.rect.y = 0


查看完整回答
反對 回復 2024-01-16
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號