其他分享
首页 > 其他分享> > pygame初探——制作简单的小游戏

pygame初探——制作简单的小游戏

作者:互联网

一、pygame简介

pygame是Python中用于游戏编写的扩展模块,是利用SDL库编写的游戏库,而SDL全名Simple DirectMedia Layer,是一位叫做Sam Lantinga的大牛写的。SDL是用C写的,不过它也可以使用C++进行开发,当然还有很多其它的语言,Pygame已经存在很多时间了,许多优秀的程序员加入其中,把Pygame做得越来越好。

 二、pygame安装

pygame的安装跟其他扩展库的安装方式是一样的,首先在官网上下载安装包,下载网站为:http://www.pygame.org/download.shtml

之后我们通过cmd命令:pip install pygame,便可实现pygame的安装,具体步骤可以参照opencv库安装的过程https://blog.csdn.net/qq_35166974/article/details/94651492

三、创建小游戏

原来经常使用MATLAB编写小游戏,第一次使用pygame编写小游戏,发现其实pygame和MATLAB编写方法大相径庭,下面我们根据教程编写自己的第一个小程序。

①首先在让我们在小花园中显示一个小女孩:

下面我给出代码:

litte_girl_image_path = 'C:\\Users\\Administrator\\Desktop\\nvhai_alpha.tif'
garden_image_path = 'C:\\Users\\Administrator\\Desktop\\huayuan.jpg'

import  pygame
import sys

pygame.init()
size = width,height = 1024,1024
screen = pygame.display.set_mode(size,0,32)
litte_girl = pygame.image.load(litte_girl_image_path).convert_alpha()
garden = pygame.image.load(garden_image_path).convert()

while(True):
    for event in pygame.event.get():
        if event.type == quit:
            sys.exit()
        
        screen.blit(garden,(0,0))
        screen.blit(litte_girl,(300,100))
        pygame.display.update()

运行之后的效果如下图:

代码具体的含义我就不在这里进行详细介绍,具体的含义大家可以去pygame官网找相应的介绍,这里介绍一下图片的alpha通道,这里用到了图像的alpha通道使图像的背景变透明,下面会专门有一篇文章介绍图像的alpha通道。

②让小女孩在花园里面动起来

下面给出代码:

litte_girl_image_path = 'C:\\Users\\Administrator\\Desktop\\nvhai_alpha.tif'
garden_image_path = 'C:\\Users\\Administrator\\Desktop\\huayuan.jpg'

import  pygame
import sys

pygame.init()
size = width,height = 1024,1024
screen = pygame.display.set_mode(size,0,32)#设置显示屏幕大小
litte_girl = pygame.image.load(litte_girl_image_path).convert_alpha()#加载小女孩图片(alpha通道图片)
garden = pygame.image.load(garden_image_path).convert()#加载花园图片
litte_girl_rect = litte_girl.get_rect()#女孩图片的矩形区域
speed = [1,0]#女孩移动速度

while(True):
    for event in pygame.event.get():#行为检测
        if event.type == quit:
            sys.exit()#退出游戏
        
    litte_girl_rect = litte_girl_rect.move(speed)
    screen.blit(garden,(0,0))
    screen.blit(litte_girl,litte_girl_rect)
    pygame.display.flip()

动画效果就不给了,我的动图软件出现问题了,不能保存了,大家自行运行程序看下效果吧~今天只是简单介绍一下pygame,希望大家能够学到一些有用的东西~没事的时候玩玩这个挺有意思的~

每天进步一点点~

标签:garden,litte,image,小游戏,pygame,初探,path,girl
来源: https://blog.csdn.net/qq_35166974/article/details/98473382