Python之pygame的学习_第1页
Python之pygame的学习_第2页
Python之pygame的学习_第3页
Python之pygame的学习_第4页
Python之pygame的学习_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习 pygame-2D 游戏,SoEasy!1 先安装pygamepygame是Python的一款功能强大的库,它可以对图像、动画、文字、音频等进行操作, 也经常用于2D游戏开发。a) 使用 python 的 pip 匸具: pip3 install pygameLast login: Thu Mar 28 15:35:24 on consoleyutengfeideMacBook-Air:- yutengfei$ pip3 install pygameCollecting pygameDownloading /packages/bc

2、/19/57bfIe9c72be4f7afcla dd56cc717b7f7fe8eflb6b5fb58f031o06401d0f/pygame-1.9.4-cp36-cp36m-macosx-10-ll-i.n tel.whl (4.9MB)6% lI 307kB 10kB/s eta 0:07:202 第一个窗口-HelloWorlda)游戏窗口的创建pygame.display.setmode(分辨率) 以下为源码:#导入所需的模块import pygame, sys#初始化pygamepygame.init()#设置窗口的大小,单位为像素screen 二 pygame.display.

3、setmodeffSOO, 400)#设置窗口标题pygame.display.setcaptionfello World')#程序主循环while True:#获取事件for eve nt in pyga m e. e ve nt. get ():#判断事件是否为退出事件if event.type = QUIT:# 退岀 pygamepygame.quit()#退出系统sys.exit()#绘制屏幕内容pygame.display.update()3.游戏循环:为什么会有一个while True ,主要用来:处理事件,更新游戏状态,绘制游戏内容到屏幕Handle EventsUpda

4、te Game State4.绘制图形Pygame的坐标原点(0, 0)点位于左上角,X轴自左向右,Y轴自上向下,单位为像素。 这里介绍一下常用的方法:pygame.draw.line(Surfacez color, start_posz end_pos, width)此方法用干绘制一条线段pygame.draw.aaline(Surface, color, start_pos, end_pos, blend)此方法用于绘制一条抗锯齿的线pygame.draw.lines(Surface/ color, closed, pointlist, width)此方法用于绘制一条折线pygame.dr

5、aw.rect(Surface, color, Rect)此方法用于绘制一个矩形pygame.draw.rect(Surface, color, Rect, width)此方法用于绘制一个矩形框pygame.draw.ellipse(Surface, color, Red)此方法用于绘制一个椭圆pygame.draw.ellipse(Surfacez color, Rect, width)此方法用于绘制一个椭圆框pygame.draw.polygon(Surface, color, pointlist, width)此方法用于绘制一个多边形pygame.draw.arcfSurface, co

6、lor, Rect, start_angl已 stopangle, width)此方法用于绘制一条弧线pygame.draw.circlefSurface, color, Rect, radius)此方法用于绘制一个圆代码如下:#导入需要的模块import pygame, sysfrom pygameocals import *from math import pi#初始化pygamepygame.init()#设巻窗口的大小,单位为像素screen = pygame.display.setmodeffAOO, 300)#设置窗口标题pygame.display.set_caption(

7、9;Drawi ng')#泄义颜色BLACK = (0, 0, 0)WHITE = (255, 255, 255)RED = (255, 0, 0)GREEN = (0, 255, 0)BLUE = (0, 0, 255)#设巻背景颜色screen.fill(WHITE)#绘制一条线pygame.draw.line(screen, GREEN, 0, 0, 50, 30, 5)#绘制一条抗锯齿的线pygame.draw.aaline(screen, GREEN, 0, 50, 50, 80, True)#绘制一条折线pygame.draw.liBLACK, False,0, 80, 5

8、0, 90, 200, 80, 220, 30, 5)#绘制一个空心矩形pygame.draw.rect(screen, BLACK, 75,10, 50, 20, 2)#绘制一个矩形pygame.draw.rect(screenz BLACK, 150, 10, 50, 20)#绘制一个空心椭圆pygame.draw.ellipsefscreen, RED, 225, 10, 50, 20, 2)#绘制一个椭圆pygame.draw.ellipsefscreen, RED, 300,10, 50, 20)#绘制多边形pygame.draw.polygonfscreen, BLACK, 100

9、, 100, 0, 200, 200, 200, 5)#绘制多条弧线pygame.draw.arc(screen, BLACK, 210, 75, 150, 125, 0, pi / 2, 2) pygame.draw.arc(screen, GREEN, 210, 75,150,125, pi / 2, piz 2) pygame.draw.arc(screen, BLUE, 210, 75,150,125, pi, 3 * pi / 2, 2) pygame.draw.arcfscreen, RED, 210, 75,150,125, 3 * pi / 2, 2 * pi, 2)#绘制一个

10、圆pygame.draw.circle(screen, BLUE, 60, 250, 40)#程序主循环while True:#获取事件for eve nt in pygame.eve ntget():#判断事件是否为退出事件if event.type = QUIT:# 退出 pygame pygame.quit)#退出系统sys.exit()#绘制屏幕内容pygame.display.update()运行效果:5绘制字体 如果你想绘制文字到屏幕上,Pygame提供了很方便的方法使用.ttf字体文件,这样我们就能 很轻易的将文字绘制在屏幕上了。主要用到的方法:pygame.fontFont(f

11、ilenam已 size)filename:字体文件的文件名;size:字体的高height,单位为像素;pygame.font.Font.render(text, antialias, color; background=None)text:要显示的文字:antialias:是否抗锯齿:color:字体颜色;background:背景颜色(可选参数);以下为源码:#导入需要的模块import pygame, sysfrom pygameocals import *#初始化pygamepygame.init()#设苣窗口的大小,单位为像素screen = pygame.display.set_

12、mode(500, 400)#设巻窗口的标题pygame.display.set_caption('F ont')#泄义颜色WHITE = (255, 255, 255)GREEN = (0, 255, 0)BLUE = (0, 0, 128)#通过字体文件获得字体对象fontObj = pygame.font.FontCresources/ARBERKLEY.ttf', 50)#配苣要显示的文字textSurfaceObj = fontObj.renderfPygame', True, BLUE, GREEN)#获得要显示的对象的reeltextRectObj = textSurfaceObj.get_rect()#设置显示对象的坐标textRectObj.center = (250, 200)#设宜背景screen.fill(WHITE)#绘制字体screen.blit(textSurfaceObjz textRectObj)#程序主循环while True:#获取事件for e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论