这段时间打算学习pygame写一个简单的小游戏,因此把学习过程中的点点滴滴记录下来,供大家参考,以及自己复习。
首先安装python和pygame,(python3 -m pip install pygame)相信大家都安装好了吧!
好了直接进入正题,pygame的学习。(笔者有py2和py3两个环境,因为py3对中文支持友好,而且是大势所趋,所以用python3和pygame1.9.2进行开发。)
进入正题,pygame的学习。
1:导入pygame库,以及pygame中的所有常量
import pygame
from pygame.locals import *
2:初始化窗口
screen=pygame.display.set_mode((800,600))
实际上pygame.display.set_mode()这个函数会返回一个Surface对象,他是位图的一种。
3:加载和显示图标
#加载图标
icon=pygame.image.load("timg.jpg").convert_alpha()
#显示图标
pygame.display.set_icon(icon)
4:设置标题
pygame.display.set_caption("仙剑奇侠传-蝶恋")
5:显示背景图片
#背景图片
background=pygame.image.load("timg.jpg").convert_alpha()
screen.blit(background,(0,0))
#更新显示屏幕
pygame.display.update()
pygame.image.load()函数用来加载位图,convert_alpha()方法会使用透明的方法绘制前景对象,因此在加载一个有alpha通道的素材时(比如PNG TGA),需要使用convert_alpha()方法,当然普通的图片也是可以使用这个方法的,用了也不会有什么副作用。
前面说过pygam.image.load()会返回一个surface对象,这个对象有一个blit方法,这个方法有两个参数,一个是加载完成的位图,第二个参数是绘制起始坐标。
好了大功告成!
# coding=utf-8
import pygame
from pygame.locals import *
def main():
pygame.mixer.init()
#创建一个800x600的窗口
screen=pygame.display.set_mode((800,600))
#加载图标
icon=pygame.image.load("timg.jpg").convert_alpha()
#显示图标
pygame.display.set_icon(icon)
#设置标题
pygame.display.set_caption("仙剑奇侠传-蝶恋")
#背景图片
background=pygame.image.load("timg.jpg").convert_alpha()
while True:
for event in pygame.event.get():
if event.type == QUIT:
return
screen.blit(background,(0,0))
#更新显示屏幕
pygame.display.update()
if __name__ == '__main__':
main()
代码最后使用while循环是为了让窗口一直进行下去,如若不然,则会一闪而过。
pygame第一个窗口小程序完成!