2018-09-04day12-pygame

一、pygame基本操作

1.初始化游戏模块

pygame.init()

2.创建游戏窗口

window = pygame.display.set_mode((400,600))

  • display:set_mode(窗口大小):创建一个窗口并返回
  • 窗口大小:是一个元祖,并且元祖需要两个值分别表示宽度和高度(单位是像素)

3.让游戏一直执行,直到点击关闭按钮才结束

while True:
    # 获取游戏过程中产生的所有事件
    for event in pygame.event.get():
        # type来判断事件的类型
        if event.type == pygame.QUIT:
            exit() # 退出程序

二、显示图片以及形变

1.显示图片

a.获取图片,创建图片对象

image.load(图片地址):获取本地的一张图片,返回图片对象
image = pygame.image.load('./files/cat.jpg')

get_size():获取大小,返回值是一个元祖,有两个元素,分别是宽和高
image_width,image_height = image.get_size()

b.渲染图片(将图片贴在纸上)

blit(渲染对象,位置)
位置: 坐标(x,y)值得类型是元祖,元祖有两个元素分别对应x坐标和y坐标
window.blit(image,(0, 0))

c.展示内容
pygame.display.flip()

2.形变

a.缩放(指定大小)

transform.scale(缩放对象,目标大小:将指定的对象缩放到指定的大小
,会返回缩放后的对象)
image = pygame.transform.scale(image,(400,600))

b.旋转缩放(指定缩放比例)

transfom.rotozoom(Surface,angle,scale)   
Surface:旋转缩放对象
angle:旋转的角度
scale:缩放比例
new_image = pygame.transform.rotozoom(image, 0, 1)

c.旋转

rotate(Surface,angle)
Surface:旋转缩放对象
angle:旋转的角度

三、显示文字

1.创建系统的字体对象

a.创建系统的字体对象

Sysfont(name,size,blod=False,italic=False) 
name:字体名(支持系统的字体名)
size:字体大小
bold:是否加粗
italic:是否倾斜

font = pygame.font.SysFont('Times', 30)

b.创建自定义字体对象

Font(字体文件路径,字体大小)
font = pygame.font.Font('./files/aa.ttf', 30)

2.渲染文字

window.blit(text,(50,50))

3.展示内容

pygame.dispaly.flip()

四、显示图形

1.画直线

def line(Surface, color, stat_pos, end_pos, with=1)
Surface:画在哪
color:线的颜色
stat_pos:起点
end_pos:起点
width:线宽

pygame.draw.line(window,(255, 0, 0), (50,100),(200,100))

2.画线段(折线)

def lines(Surface, color, closed, pointlist with=1)
Surface:画在哪
color:线的颜色
closed:是否闭合(是否连接起点和终点)
pointlist:点对应的列表

pygame.draw.lines(window,(0,0,255),False,[(70,150),(120,170),(60,250)])

3.画圆

def circle(Surface, color, pos, radius, width=0 )
Surface:画在哪
color:颜色
pos:圆心坐标
radius:半径
width:线宽

pygame.draw.circle(window,(255,255,0),(200,300),100)

4.画矩形

def circle(Surface, color, Rect, width=0 )
Surface:画在哪
color:颜色
Rect:范围(元祖,元祖中有四个元素,分别是x,y,width,height)

pygame.draw.rect(window,(0,255,0),(0,0,50,100))

5.多边形

def polygon(Surface, color, pointlist, width=0)

pygame.draw.polygon(window,(0,0,255),[(300,0),(500,0),(400,100),(200,100)])

6.画椭圆

def ellipse(Surface, color, Rect, width=0)

pygame.draw.ellipse(window, (0,0,255), (200,400,200,100))

五、事件

事件的type:

  • a.鼠标事件:

QUIT:关闭按钮被点击事件
MOUSEBUTTONDOWN:鼠标按下事件
MOUSEBUTTONUP:鼠标按下松开时对应的事件
MOUSEMOTION:鼠标移动事件

  • b.键盘事件:

KEYDOWN:键盘按下
KEYUP:键盘弹起

  • c.事件的pos --- 鼠标事件发生的位置(坐标)
  • d.事件的key --- 键盘事件被按的键对应的编码值

六、动画原理

七、按住不放原理

你可能感兴趣的:(2018-09-04day12-pygame)