以下是部分代码预览:
"""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,screen): """ 初始化方法,传递的参数有颜色和宽度、高度 """ # 调用父类的初始化方法 super().__init__() pass # 水平速度和垂直速度,也代表着方向 self.dx = random.randrange(-3, 4) self.dy = random.randrange(-3, 4) def update(self): """ 更新方块的坐标. """ self.rect.x += self.dx self.rect.y += self.dy pass class Player(Block): """ 玩家类继承自方块类,但是重写了update方法,它用鼠标指针来操控 """ pass # 初始化pygame引擎 pygame.init() # 设置宽度和高度并且新建屏幕对象 screen_width = 700 screen_height = 400 screen = pygame.display.set_mode([screen_width, screen_height]) pygame.display.set_caption("pygame收集反弹的彩色小方块 www.scratch8.net") # 这是所有方块角色“列表”,它是Group类建立的 block_list = pygame.sprite.Group() # 这是所有的角色列表,包括方块和玩家 all_sprites_list = pygame.sprite.Group() for i in range(50): # 实例化一个方块 r = random.randint(0,255) g = random.randint(0,255) b = random.randint(0,255) block = Block((r,g,b), 20, 15,screen) # 所有的方块加到方块列表和所有角色列表 block_list.add(block) all_sprites_list.add(block) # 创建红色玩家对象,并且增加到所有角色列表 player = Player(RED, 20, 15,screen) all_sprites_list.add(player) # 用来控制while循环结束的逻辑变量 done = False
如需要查看完整代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
发表评论