pygame旋转图形核心原理例子_飞碟与外星人旋转与碰撞举例.py

python alien and fly saurce飞碟与外星人
python alien and fly saurce飞碟与外星人

以下是部分代码预览:

""" 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()

 

下载完整源代码与素材,请扫码付款。

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,盗版必究。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。QQ群免费教学群:225792826 (提供真实姓名可入群)
李兴球的博客_Python创意编程技术前沿 » pygame旋转图形核心原理例子_飞碟与外星人旋转与碰撞举例.py
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页