免费网站设计工具,抖音营销推广怎么做,深圳网站设计兴田德润简介,营销型网站的建设流程4 重新绘制界面
每次碰撞发生后#xff0c;程序界面需要重新绘制#xff0c;代码如下所示。
screen.fill(WHITE)
all_sprites_list.draw(screen)
pygame.display.flip()
其中#xff0c;screen表示程序的整个界面#xff0c;将其绘制为白色背景#xff1b;之后通过all_…4 重新绘制界面
每次碰撞发生后程序界面需要重新绘制代码如下所示。
screen.fill(WHITE)
all_sprites_list.draw(screen)
pygame.display.flip()
其中screen表示程序的整个界面将其绘制为白色背景之后通过all_sprites_list.draw()绘制碰撞后剩下的方块碰撞的方块已经在group中删除最后显示重新绘制的内容。
5 完整代码
以上程序的完整代码如下所示。
import pygame, random
from pygame.locals import *class Block(pygame.sprite.Sprite):def __init__(self, color, width, height):super().__init__()self.image pygame.Surface((width, height))self.image.fill(color)self.rect self.image.get_rect()GREEN (0, 255, 0)
RED (255, 0, 0)
WHITE (255, 255, 255)
BLUE (0, 0, 255)
screen_width 1000
screen_height 600
done False
score 0
clock pygame.time.Clock()pygame.init()
screen pygame.display.set_mode((screen_width, screen_height))
block_list pygame.sprite.Group()
all_sprites_list pygame.sprite.Group()
block_bad_list pygame.sprite.Group()for i in range(50):block Block(GREEN, 20 ,15)block.rect.x random.randrange(screen_width)block.rect.y random.randrange(screen_height)block_list.add(block)all_sprites_list.add(block)for i in range(10):block Block(RED, 20 ,15)block.rect.x random.randrange(screen_width)block.rect.y random.randrange(screen_height)block_bad_list.add(block)all_sprites_list.add(block)player Block(BLUE, 20, 15)
all_sprites_list.add(player)while not done:for event in pygame.event.get():if event.type pygame.QUIT:done Truescreen.fill(WHITE)pos pygame.mouse.get_pos()player.rect.x pos[0]player.rect.y pos[1]blocks_hit_list \pygame.sprite.spritecollide(player, block_list, True)for block in blocks_hit_list:score 1print(当前分数为str(score))blocks_hit_list \pygame.sprite.spritecollide(player, block_bad_list, True)for block in blocks_hit_list:score - 1print(当前分数为str(score))all_sprites_list.draw(screen)pygame.display.flip()clock.tick(60)pygame.quit()