以下是部分代码预览:
""" pygame旋转图形核心原理例子_飞碟与外星人旋转与碰撞举例.py """ __author__ = "李兴球" __date__ = "2019年1月" import pygame import random # 定义颜色常量 BLACK = ( 0, 0, 0) WHITE = ( 255, 255, 255) RED = ( 255, 0, 0) # 方块类 class Block(pygame.sprite.Sprite): def __init__(self, filename): # 调用基类的构造方法 super().__init__() # 创建源图,此图不画在screen上,只是用来旋转 self.raw_image = pygame.image.load(filename).convert_alpha() self.image = self.raw_image # 这是旋转后的图形,它是最终渲染的. # 获取矩形对象,用它代表图形的坐标与宽高 self.rect = self.image.get_rect() self.angle = 0 # 角度 self.angle_change = 0 # 角速度 # 实始化pygame引擎 pygame.init() # 设置屏幕宽高,然后创建屏幕 screen_width = 700 screen_height = 400 screen = pygame.display.set_mode([screen_width, screen_height]) pygame.display.set_caption("旋转核心原理_飞碟与外星人旋转_作者:李兴球") # 方块“列表”,用Group类创建 block_list = pygame.sprite.Group() # 创建一个红色的玩家方块 player = Block("ufo.png") player.angle_change = 0 all_sprites_list.add(player) # 当关闭窗口事件发生时,把下列变量值设为True,从而退出while done = False # 设定刷新率的时钟对象 clock = pygame.time.Clock() score = 0 # -------- 程序主循环----------- while not done: # 当没有结束时,就循环 for event in pygame.event.get(): # 迭代每个事件 if event.type == pygame.QUIT: # 如果单击了关闭按钮 done = True # 这个标志就会True了 # 清屏为白色 screen.fill(RED) # 获取鼠标指针坐标 ,玩家跟随鼠标指针坐标 player.rect.center = pygame.mouse.get_pos() all_sprites_list.update() # 设定刷新率为60 clock.tick(60) # 显示 pygame.display.flip() pygame.quit()
下载完整源代码与素材,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)
发表评论