以下是部分代码预览:
"""pygame拖动方块示例.py """ import pygame import random # 定义颜色常量 BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) class Block(pygame.sprite.Sprite): """ 方块类,继承自角色类 """ def __init__(self, color, width, height): """ 初始化方法,传递的参数为颜色,宽度,高度""" class Player(Block): """ 此类继承自Block类,重写了update方法 """ # 所携带的方块列表 carry_block_list = [] # 初始化pygame引擎 pygame.init() # 新建屏幕对象,它是一个surface对象 screen_width = 700 screen_height = 400 screen = pygame.display.set_mode([screen_width, screen_height]) pygame.display.set_caption("拖动方块示例") # 所有方块列表 block_list = pygame.sprite.Group() # 所有角色列表 all_sprites_list = pygame.sprite.Group() for i in range(50): # 实例化一个方块 block = Block(BLACK, 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) # 实例化红色的方块 player = Player(RED, 20, 15) all_sprites_list.add(player) # 用来结束while循环的逻辑变量 done = False # 设置刷新率的时钟对象 clock = pygame.time.Clock() # 隐藏鼠标指针 pygame.mouse.set_visible(False) # -------- 主程序循环----------- while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True all_sprites_list.update() # 填充屏幕为白色 screen.fill(WHITE) # 重画所有角色 all_sprites_list.draw(screen) # 限制刷新率为60秒 clock.tick(60) # 显示 pygame.display.flip() pygame.quit()
如需要查看完整代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
发表评论