欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pygame的下载及pygame小游戏的制作

程序员文章站 2024-01-17 21:35:28
...

pip(python index of package)

pip是python中包管理器,Control:通过pip可以对python中包,进行下载安装,删除等操作,pip会随同python一起安装,不需要单独安装,但是python中安装的pip版本比较旧,一般第一次使用时,需要对其进行更新

常用命令

pip -V 显示pip的版本
pip install 包名 安装一个包
pip install -U 包名 更新一个包
pip uninstall 包名 卸载一个包

pygame

①安装
pip install pygame
②运行
py -m pygame.examples.aliens(会有个飞机大战的小游戏)

如何编写pygame小游戏(步骤)

第一步:导入各种包
第二步:对pygame进行初始化(虽然可有可无,但是必须写很重要)
第三步:设置游戏窗口大小,获取窗口位置的矩形,向窗口添加加载图片(游戏图层),设置图片的位置
第四步:设置游戏窗口的标题
第五步:创建无限循环,让游戏一直进行(在循环中,设置关闭窗口,游戏目标的按键控制,及游戏的显示)

例子:

#导入pygame
import pygame
#对pygame进行初始化
pygame.init()
# display显示游戏窗口
# set_mode()需要一个元组作为参数,来指定窗口的大小(宽度,高度)
# 该方法会返回一个surface对象,表示当前的游戏窗口
screen=pygame.display.set_mode((800,600))
# 获取表示窗口位置的矩形
screen_rect=screen.get_rect()
# 向游戏窗口添加一张图片
img=pygame.image.load('img.gif')
# 获取图片默认的矩形区域
img_rect=img.get_rect()
# 将图片的中点设置为窗口的中点
img_rect.centerx = screen_rect.centerx
img_rect.centery = screen_rect.centery
# 设置游戏窗口的标题
pygame.display.set_caption("游戏的名字")
# 设置变量,表示图片移动方向
dir=None
# 创建循环,让游戏一直运行
while True:
    # 监听事件,返回列表,遍历
    for event in pygame.event.get():
        # 如果事件类型为OUIT,则点击✖关闭窗口
        if event.type==pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            # 改变dir的值    
            dir = event.key
        elif event.type == pygame.KEYUP:
            # 检查按键松开的事件
            if event.key == dir:
                dir = None    
    if dir == pygame.K_LEFT:
        # 改变图片的位置,向左移动,使x值减少
        img_rect.x -= 10
    elif dir == pygame.K_RIGHT: 
        img_rect.x += 10
    elif dir == pygame.K_UP: 
        img_rect.y -= 10 
    elif dir == pygame.K_DOWN: 
        img_rect.y += 10                      
    # 检查图片是否移动出界    
    if img_rect.x < 0:
        img_rect.x = 0
    elif img_rect.y < 0:
        img_rect.y = 0  
    elif img_rect.right > screen_rect.width:
        img_rect.right = screen_rect.width      
    elif img_rect.bottom > screen_rect.height:
        img_rect.bottom = screen_rect.height      
    # 为screen设置背景颜色
    screen.fill((230,230,230))          
    # 将图片绘制到屏幕中
    screen.blit(img,img_rect)            
    # 刷新窗口
    pygame.display.flip()       
    # 控制循环执行的速度
    time.sleep(0.01)

小白笔记!!!