以下是部分代码预览:
""" 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资源。)

