Loading

2.pygame快速入门-绘制图像

介绍
在游戏中能够看到的游戏元素大都是图像
图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存
要在屏幕上看到某一个图像的内容,需要按照三个步骤
  1. 使用pygame.image.load()加载图像属性
  2. 使用游戏屏幕对象,调用blit方法将图像绘制到指定位置
  3. 调用pygame.display.update()方法更新整个屏幕的显示
 
绘制背景图像
import pygame

pygame.init()

# 创建游戏窗口
screen = pygame.display.set_mode((480,700))

# 绘制背景图像
# 加载图像数据
background = pygame.image.load('./images/background.png')
# 使用blit给对应窗口绘制图像,参数:图像数据,图像位置
screen.blit(background,(0,0))
# 更新图像显示
pygame.display.update()

runing = True
while runing:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            runing = False

pygame.quit()
 
绘制英雄图像
1.加载图片创建英雄飞机
2.将英雄飞机绘制在屏幕的(200,500)的位置
3.调用屏幕更新显示图像飞机
# -*- coding: utf-8 -*-
# @Time:     2022/5/19 23:45
# @Author:   LiQi
# @Describe:


import pygame

pygame.init()

# 创建游戏窗口
screen = pygame.display.set_mode((480,700))

# 绘制背景图像
# 加载图像数据
background = pygame.image.load('./images/background.png')
# 使用blit给对应窗口绘制图像,参数:图像数据,图像位置
screen.blit(background,(0,0))
# 更新图像显示
pygame.display.update()

# 绘制英雄图像
hero = pygame.image.load('./images/me1.png')
screen.blit(hero,(200,500))

pygame.display.update()





runing = True
while runing:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            runing = False

pygame.quit()
 
透明图像
png格式的图像是支持透明的
在绘制图像时,透明区域不会显示任何内容
如果下方已有内容,透过透明区域显示出来
如下图小格子区域就是透明区域,当透明区域和背景图重合时,会把背景区域显示出来
 
 
update()方法的作用
可以在screen对象完成所有的blit方法之后,统一调用一次update方法,同样可以看到最终的显示效果
使用set_mode创建的screen对象是一个内存中的屏幕数据对象可以理解成油画的画布
screen.bilt方法可以在画布上绘制很多图像,例如英雄、敌机、子弹
update会将画布的最终效果绘制屏幕上
 
 
游戏中的动画实现原理
跟电影的原理类型,游戏中的动画效果,本质上是快速的在屏幕上绘制图像
一般在电脑上每秒绘制60次,就能达到非常连续高品质的动画效果
每次绘制的结果被称为帧Frame
posted @ 2022-05-20 01:36  木子七  阅读(572)  评论(0编辑  收藏  举报