pygame 包的使用 1

感觉游戏制作大体依据如下操作

 

 

一 几个初始化相关操作

  pygame.init()  初始化所有导入的 pygame 模块

  pygame.quit() 卸载所有导入的 pygame 模块。

  

二 首先通过一个代码示例来学习

  

import pygame

 

# 游戏的初始化

pygame.init()

 

# 创建游戏的窗口 480 * 700

screen = pygame.display.set_mode((480, 700))

 

# 绘制背景图像

bg = pygame.image.load("./images/background.png")

screen.blit(bg, (0, 0))

 

# 绘制英雄的飞机(初始位置)

hero = pygame.image.load("./images/me1.png")

screen.blit(hero, (150, 300))

 

# update更新屏幕显示

pygame.display.update()

 

# 创建时钟对象 (可以控制游戏循环频率)

clock = pygame.time.Clock()

 

# 1. rect矩形类记录飞机的位置

hero_rect = pygame.Rect(150, 300, 102, 126)

 

# 游戏循环 -> 意味着游戏的正式开始!

while True:

 

    # 通过时钟对象指定循环频率

    clock.tick(60)  # 每秒循环60次

 

    # 2. 修改飞机的位置

    hero_rect.y -= 1  # 向上移动

 

    # 3. 调用blit方法绘制图像

    screen.blit(bg, (0, 0))   # 元组参数表示绘制位置,也可以通过Rect矩形类来表示位置.
    screen.blit(hero, hero_rect)  # 每次循环都重新绘制背景,是为了用背景遮盖之前绘制的内容

    # 4. 调用update方法更新显示

    pygame.display.update()

 
pygame.quit()

  1.pygame的display的用法

   1.screen=pygame.display.set_mode((640,480),0,32)   #创建了一个窗口,set_mode会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元组,代表分 辨率(必须);第二个是一个标志位,如果不用什么特性,就指定0;第三个为色深。当我们把第二个参数设置为FULLSCREEN时,就能得到一个全屏窗口了。

    如这里就得到了一个Surface属性的screen,可以用surface的方法来操作这块屏幕。

   2.pygame.display.set_caption("Hello, World!")   #设置窗口标题

   3.surface的重要的方法:bilt()

    将一个图像绘制到另外一个图像的上方。

    blit(source, dest, area=None, special_flags = 0) -> Rect,但是实际使用的还是前两个参数,source和dest

    source是surface对象,它是一张图片。读取图片使用surface_obj = pygame.image.load("./images/background.png")

    dest是应该就是传入一个坐标吧,表示图片开始绘制的地方。如果传入元素是rect类型,那么就只会使用它的左上角坐标。

  rect数据类型自行查询使用。 

    感觉这样的话原图片的大小必须设置得当。因为这样只能对图片做一些平移处理。

    不过这样的bilt应该就是后面的覆盖前面的吧。    

 

   4.注意最后需要 pygame.display.update()来使得绘制成功的图像得到显示。

  2.clock方法的使用

    

   

  

  

    

posted @ 2019-11-09 18:53  TheDa  阅读(493)  评论(0编辑  收藏  举报