python学习6
2016-04-08 17:29
183 查看
本章主要讲述了pygame的应用,pygame主要用于制作游戏模块。
除了该模块,我们还学习了Turtle模块用于画图,Tkinter用于制作GUI
1.pygame的安装
pygame的下载链接,该连接时第三方库,都是编译好了的。
然后下载好了.whl安装包,最后进入cmd命令窗口,cd到安装包的路径,然后输入
pip install xxx.whl就可以进行安装了
这个时候在Jupyter notebook中输入import pygame就可以导入pygame模块,并应用了。
2.画一个圆形
案列:画一个矩形
案列:绘制一个矩形彩虹条
案列:划分矩形为若干小矩形,然后随机填充颜色
效果图:
![](http://img.blog.csdn.net/20160408161240435)
注意:这里random.randrange(0,100,5)用于随机接受0——100以内以5为步长的随机数,如0,5,10,15………………
案列:不断放缩的一个椭圆
案列:如上,保存一系列图像
除了该模块,我们还学习了Turtle模块用于画图,Tkinter用于制作GUI
1.pygame的安装
pygame的下载链接,该连接时第三方库,都是编译好了的。
然后下载好了.whl安装包,最后进入cmd命令窗口,cd到安装包的路径,然后输入
pip install xxx.whl就可以进行安装了
这个时候在Jupyter notebook中输入import pygame就可以导入pygame模块,并应用了。
2.画一个圆形
#主要的三个模块,Turtle用来绘制图形,Tkinter用来创建GUI,PyGame用来创建游戏 import pygame pygame.init() #定义一个窗口400*300 windowSize = [400 , 300] screen = pygame.display.set_mode(windowSize) #定义一个圆 pygame.display.set_caption('circles') colour=pygame.color.Color('#FFFFFF') #循环画圆 done=False while not done: pygame.draw.circle(screen,colour,[200,150],50) pygame.display.flip() for event in pygame.event.get(): if event.type == pygame.QUIT: done=True pygame.quit()
案列:画一个矩形
#创建一个长方形 import pygame pygame.init() windowSize=(400,300) screen=pygame.display.set_mode(windowSize) colour=pygame.color.Color('#FE12AD') done=False while not done:#while not ..的意思就是当done是False的时候执行下列语句,while done就是当done是True的时候执行下列语句 pygame.draw.rect(screen,colour,[10,20,30,40]) pygame.display.flip() for event in pygame.event.get(): if event.type == pygame.QUIT: done=True pygame.quit()
案列:绘制一个矩形彩虹条
#创建一个长方形 import pygame pygame.init() height=300 width=400 windowSize=(400,300) screen=pygame.display.set_mode(windowSize) colour=pygame.color.Color('#FE12AD') row=0 done=False while not done:#while not ..的意思就是当done是False的时候执行下列语句,while done就是当done是True的时候执行下列语句 increment=255/100 while row<=height: pygame.draw.rect(screen,colour,[0,row,width,row + increment]) pygame.display.flip() if colour[2]+increment<255: colour[2]+=increment row+=increment #想要关闭窗口 for event in pygame.event.get(): if event.type == pygame.QUIT: done=True pygame.quit()
案列:划分矩形为若干小矩形,然后随机填充颜色
#创建一个颜色栅格 #导入需要用的模块,并且初始化 import pygame import random pygame.init() #定义窗口的大小,并且划分窗口为10*10块 width=400 height=300 wsqr=10 hsqr=10 w=width/wsqr h=height/hsqr windowSize=(width,height) screen=pygame.display.set_mode(windowSize) clock=pygame.time.Clock() #随机颜色,随机x,y的位置,画图pygame.draw.rect(screen,(r,g,b),(x,y,width,height)) done=False while not done: red=random.randrange(0,256) green=random.randrange(0,256) blue=random.randrange(0,256) x=random.randrange(0,width,w) y=random.randrange(0,height,h) #画图形 pygame.draw.rect(screen,(red,green,blue),(x,y,w,h)) pygame.display.flip() #关闭窗口循环 for event in pygame.event.get(): if event.type == pygame.QUIT: done= True clock.tick(10) #关闭 pygame.quit()
效果图:
注意:这里random.randrange(0,100,5)用于随机接受0——100以内以5为步长的随机数,如0,5,10,15………………
案列:不断放缩的一个椭圆
import pygame import math pygame.init() windowSize=[400,300] screen=pygame.display.set_mode(windowSize) clock=pygame.time.Clock() width=200 height=200 x=windowSize[0]/2-width/2 y=windowSize[1]/2-height/2 colour=pygame.color.Color('#FEA234') black=pygame.color.Color('#12A3F5') count=0 done=False fileNo=0 while not done: screen.fill(black) pygame.draw.ellipse(screen,colour,[x,y,width,height]) width+=math.cos(count)*10 x-=(math.cos(count)*10)/2 height+=math.sin(count)*10 y-=(math.sin(count)*10)/2 count+=0.5 pygame.display.flip() for event in pygame.event.get(): if event.type==pygame.QUIT: done=True clock.tick(24) #保存一幅图像 pygame.image.save(screen,"i.png") pygame.quit()
案列:如上,保存一系列图像
import pygame import math pygame.init() windowSize=[400,300] screen=pygame.display.set_mode(windowSize) clock=pygame.time.Clock() width=200 height=200 x=windowSize[0]/2-width/2 y=windowSize[1]/2-height/2 colour=pygame.color.Color('#FEA234') black=pygame.color.Color('#12A3F5') count=0 done=False fileNo=0 while not done: screen.fill(black) pygame.draw.ellipse(screen,colour,[x,y,width,height]) width+=math.cos(count)*10 x-=(math.cos(count)*10)/2 height+=math.sin(count)*10 y-=(math.sin(count)*10)/2 count+=0.5 pygame.display.flip() #保存一系列的图像 if fileNo<20: pygame.image.save(screen,"circle"+str(fileNo)+".jpg") fileNo+=1 #退出窗口 for event in pygame.event.get(): if event.type==pygame.QUIT: done=True clock.tick(24) #保存一幅图像 #pygame.image.save(screen,"i.png") pygame.quit()
相关文章推荐
- Python程序的混淆和加密
- python的反转(切片)
- Python~删除空格,插入换行符号
- 解决初次安装PyCharm后 No Python interpreter selected的问题
- VIM下python编辑器的简单配置
- python之常用builtins
- python+opencv图像金字塔融合
- python 学习笔记2(list/directory/文件对象/模块/参数传递)
- [pandas] 数据类型学习笔记
- Python如何调用新浪api接口的问题
- python模块及包
- 最长公共子序列(Python)
- Python学习笔记(四)dict和set
- Python基础:数据类型
- 【Python 学习】通过yield 构建迭代生成器
- python re 匹配回车 re.DOTALL
- Python3 连接Mysql
- Python3:set的用法
- python with
- Python3:collections.deque的用法简介