专栏首页Urlteampygame-游戏开发学习笔记(二)–模块表与背景图样例。

pygame-游戏开发学习笔记(二)–模块表与背景图样例。

游戏,也可以3D先从简单的入手吧,先看一下pygame模块一览表

pygame.cdrom

访问光驱

pygame.cursors

加载光标

pygame.display

访问显示设备

pygame.draw

绘制形状、线和点

pygame.event

管理事件

pygame.font

使用字体

pygame.image

加载和存储图片

pygame.joystick

使用游戏手柄或者 类似的东西

pygame.key

读取键盘按键

pygame.mixer

声音

pygame.mouse

鼠标

pygame.movie

播放视频

pygame.music

播放音频

pygame.overlay

访问高级视频叠加

pygame

就是我们在学的这个东西了……

pygame.rect

管理矩形区域

pygame.sndarray

操作声音数据

pygame.sprite

操作移动图像

pygame.surface

管理图像和屏幕

pygame.surfarray

管理点阵图像数据

pygame.time

管理时间和帧信息

pygame.transform

缩放和移动图像

可以使用一个简单的小代码测试一下。

Python

if pygame.font is None: print "The font module is not available!" exit()

123

if pygame.font is None:    print "The font module is not available!"    exit()

全部测试的源代码,在github上

现在来试着写一个小程序。

因为截图的原因会跟随鼠标移动的路飞的头像跑到下面去了。大家参看下源代码就很快能明白了,非常直观。

Python

#coding:utf-8 ''' 本测试样例将创建一个窗口,然后显示一张图片, ''' #!/usr/bin/env python background_image_filename = '1.1.jpg' mouse_image_filename = '2.jpg' #制定图像文件名称 import pygame from pygame.locals import * from sys import exit #从sys中使用结束函数 pygame.init() #初始化pygame、 screen = pygame.display.set_mode((1280,800),RESIZABLE,32) #创建一个窗口,并且制定大小。 pygame.display.set_caption("hello, world! ly first game!") #设置窗口标题 background = pygame.image.load(background_image_filename).convert() mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha() while True: for event in pygame.event.get(): if event.type == QUIT: exit() #若接受到退出事件后退出程序 screen.blit(background,(0,0)) #画出背景图 x,y = pygame.mouse.get_pos() #获取鼠标的坐标 x -= mouse_cursor.get_width()/2 #获取鼠标图像的宽高计算新的xy的值,目的是为了能居中 y -= mouse_cursor.get_height()/2 screen.blit(mouse_cursor,(x,y)) #在新的值画上x,y。以及鼠标的图案。 pygame.display.update() #刷新一下画面

12345678910111213141516171819202122232425262728293031323334353637383940414243444546

#coding:utf-8'''本测试样例将创建一个窗口,然后显示一张图片,'''#!/usr/bin/env python background_image_filename = '1.1.jpg'mouse_image_filename = '2.jpg'#制定图像文件名称 import pygamefrom pygame.locals import *from sys import exit#从sys中使用结束函数 pygame.init()#初始化pygame、 screen = pygame.display.set_mode((1280,800),RESIZABLE,32)#创建一个窗口,并且制定大小。 pygame.display.set_caption("hello, world! ly first game!")#设置窗口标题 background = pygame.image.load(background_image_filename).convert() mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha() while True:     for event in pygame.event.get():        if event.type == QUIT:            exit()           #若接受到退出事件后退出程序     screen.blit(background,(0,0))    #画出背景图    x,y = pygame.mouse.get_pos()    #获取鼠标的坐标    x -= mouse_cursor.get_width()/2   #获取鼠标图像的宽高计算新的xy的值,目的是为了能居中    y -= mouse_cursor.get_height()/2        screen.blit(mouse_cursor,(x,y))    #在新的值画上x,y。以及鼠标的图案。    pygame.display.update()    #刷新一下画面

set_mode会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元祖,代表分 辨率(必须);第二个是一个标志位,具体意思见下表,如果不用什么特性,就指定0;第三个为色深。

标志位

功能

FULLSCREEN

创建一个全屏窗口

DOUBLEBUF

创建一个“双缓冲”窗口,建议在HWSURFACE或者OPENGL时使用

HWSURFACE

创建一个硬件加速的窗口,必须和FULLSCREEN同时使用

OPENGL

创建一个OPENGL渲染的窗口

RESIZABLE

创建一个可以改变大小的窗口

NOFRAME

创建一个没有边框的窗口

convert函数是将图像数据都转化为Surface对象,每次加载完图像以后就应该做这件事件(事实上因为 它太常用了,如果你不写pygame也会帮你做);convert_alpha相比convert,保留了Alpha 通道信息(可以简单理解为透明的部分),这样我们的光标才可以是不规则的形状。

游戏的主循环是一个无限循环,直到用户跳出。在这个主循环里做的事情就是不停地画背景和更新光标位置,虽然背景是不动的,我们还是需要每次都画它, 否则鼠标覆盖过的位置就不能恢复正常了。

blit是个重要函数,第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面一片漆黑。

原创文章,转载请注明: 转载自URl-team

本文链接地址: pygame-游戏开发学习笔记(二)–模块表与背景图样例。

  1. pygame-游戏开发学习笔记(三)–event事件捕捉
  2. pygame-游戏开发学习笔记(四)–pygame.display.set_mode()显示的问题
  3. pygame-游戏开发学习笔记(五)–pygame.Font,字体与中文以及错误检测的问题
  4. 学习-用Python和Pygame写游戏-从入门到精通(6)
  5. pygame-游戏开发学习笔记(七)–pygame.draw,画图。
  6. pygame-游戏开发学习笔记(八)–pygame.time&&fps 动画制作

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pygame-游戏开发学习笔记(七)–pygame.draw,画图。

    pygame.draw中函数的第一个参数总是一个surface,然后是颜色,再后会是一系列的坐标等。稍有些计算机绘图经验的人就会知道,计算机里的坐标,(0,0)...

    十四君
  • pygame-游戏开发学习笔记(五)–pygame.Font,字体与中文以及错误检测的问题

    本节内容基本属于干货,代码在github上:包括了字体和图片文件可以直接拉下来测试https://github.com/luyishisi/The_crawle...

    十四君
  • pygame-游戏开发学习笔记(三)–event事件捕捉

    事件是什么,其实从名称来看我们就能想到些什么,而且你所想到的基本就是事件的真正意思了。

    十四君
  • 【Pygame 第1课】 hello pygame

    我们已经把python的基本内容讲得差不多了,所以从今天起,尝试一下新的方面:pygame -- 用python来写游戏。 pygame是一个python的游戏...

    Crossin先生
  • 【pygame系列 第二课 狮子动画 】

    python我们可以做文字版的游戏,比如猜数字游戏,21点游戏。那python可以做图形界面的游戏吗?偷偷告诉你,用pygame库就可以实现了。pygame是p...

    用户7054460
  • pygame游戏常用方法

    python做2d游戏,用的最多的就是pygame库,虽然比较老了,但是非常经典。尽管现在有很多其它游戏的库,可是都封装的比较多了,很多非常重要的细节都被隐藏了...

    用户7054460
  • pygame系列_pygame的各模块叙述

    在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用。

    Hongten
  • Python 使用 pygame 实现一个简单的动画

    一个会写诗的程序员
  • Python:pygame的初步使用

    4.创建窗口,pygame.display.set_mode(resolution=(0,0),flags=0,depth=0),resolution窗口大小,...

    菜菜不吃蔡
  • 16 Python 基础: 重点知识点--Pygame的基础知识梳理

    本文首发于腾讯云+社区,也可关注微信公众号【离不开的网】支持一下,就差你的关注支持了。

    小Gy

扫码关注云+社区

领取腾讯云代金券