美文网首页
2018-09-04_day12_pygame介绍

2018-09-04_day12_pygame介绍

作者: oxd001 | 来源:发表于2018-09-04 20:32 被阅读0次

一、基本功能

1.初始化游戏模块

    pygame.init()

2.新建游戏窗口

set_mode(窗口大小)
窗口大小:对应的值是一个元组,并且元组中需要两个值分别表示宽度和高度(width,height)
宽度和高度的单位是像素
display.set_mode():创建一个窗口并且返回

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

3.给窗口填充颜色

fill(颜色)
颜色:计算机三原色(红,绿,蓝):每个颜色对应的值的范围是0~255
可以通过改变不同颜色的值调配出不同的颜色,颜色值是一个元组,分别代表红绿蓝(RGB)

window.fill((255,255,255))

4.让游戏一直运行,直到点关闭按钮才结束

显示图片

    #a.pygame.image.load(filename)获取本地图片,返回图片对象
    hero = pygame.image.load('./feiji/hero.gif')

    #b.渲染图片(将图片花在纸上)
    '''
    blit(渲染对象,位置)方法
    位置:坐标(x,y),值的类型是元组,元组有两个元素,分别对应x坐标和y
    
    左上角为(0,0),向下是y坐标及高度逐渐增大,向右是x坐标及宽度不断增大
    '''
    # window.blit(hero,(250,250))

    #c.展示内容(将纸帖在画框上)
    # pygame.display.flip()

    '''
    获取图片的宽和高
    hero.get_size()返回值以宽和高的元组
    '''
    list_image =[pygame.image.load('./feiji/hero_blowup_n1.png'),pygame.image.load('./feiji/hero_blowup_n2.png'),pygame.image.load('./feiji/hero_blowup_n3.png'),pygame.image.load('./feiji/hero_blowup_n4.png')]
    hero_width,hero_height = hero.get_size()
    window.blit(hero, (((600 - hero_width)/2), ((400 - hero_height)/2)))
    pygame.display.flip()


    sleep(0.16)
    window.fill((255, 255, 255))

形变

    a.缩放(指定大小)
    transform.scale(缩放对象,目标大小):将指定对象缩放到指定的大小,会返回缩放后的对象
    
    b.缩放(指定缩放比例)
    transform.rotozoom(Surface,angle,scale)   
    Surface:旋转缩放对象
    angle:旋转的角度
    scale:缩放比例 
    
    c.旋转
    rotate(Surface,angle)
    Surface:旋转对象
    angle:旋转角度
   new_hero = pygame.transform.scale(hero,(200,100))
        window.blit(new_hero,(600-hero_width,400-hero_height))
        pygame.display.update()

    new_hero = pygame.transform.rotozoom(hero,180,0.5)
    window.blit(new_hero,(0,0))
    pygame.display.update()

二、文字处理

a.创建系统的字体对象
    pygame.font.SysFont(name,size,bold=False,italic=False)
    name:字体名(系统支持的字体名)
    size:字体大小
    bold:是否加粗
    italic:是否倾斜
    
    
    b.创建自定义的字体对象
    pygame.font.Font(自定义字体文件路径,字体大小)
    font = pygame.font.Font(name,size)
    字体文件路径:ttf文件
    '''
    font = pygame.font.Font('./font_01/aa.ttf', 30)
    image = pygame.image.load('./feiji/enemy2.png')
    image_width,image_height = image.get_size()
    x,y=(((400-image_width)/2),((400-image_height))/2)
    window.blit(image,(x,y))

    # font = pygame.font.SysFont('Times',30)
#根据字体去创建文字对象

render(text,antialias,color)
text:需要显示的文字
antialias:是否平滑(布尔)
color:颜色
background:背景颜色元组(r,g,b)
'''
text = font.render('你好,世界',True,(0,0,255),(0,255,255))
font_width,font_height=text.get_size()
#渲染文字
window.blit(text,(((x+(image_width-font_width)/2)),y+image_height))
#展示内容

三、显示常见图形

1.画直线

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


    #画一条水平线
    # pygame.draw.line(window,(255,0,0),(50,100),(200,100))
    #花一天垂直线

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

2.画线段(折线)

def lines(Surface,color,closed,pointlist,width=1)
Surface:画在哪儿
color:线的颜色
closed:是否闭合,起点和终点是否连接
pointlist:线段的列表
width:宽度

    pygame.draw.lines(window,(255,0,0),False,[(100,200),(150,120),(140,300)])

3.画圆

def circle(Surface,color,pos,radius,width=0)
Surface:圆心半径
color:颜色
pos:位置
radius:半径
width:线段,0->填充

    pygame.draw.circle(window,(255,255,0),(250,275),100,0)

4.画矩形

def rect(Surface,color,Rect,width=0)
Surface:画在哪儿
color:颜色
Rect:范围(元组,元组中有四个元素,分别是x,y,width,height)
width:线宽,0->填充

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

5.画多边形

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

6.画椭圆

    def ellipse(Surface.color,Rect,width=0),内切矩形原理

7.画弧线

    def arc(Surface,color,Rect,start_angle,end_angle,width=1)

相关文章

  • 2018-09-04_day12_pygame介绍

    一、基本功能 1.初始化游戏模块 2.新建游戏窗口 set_mode(窗口大小)窗口大小:对应的值是一个元组,并且...

  • 2018-09-04_day12_pygame练习小球碰撞

    接球游戏 大球吃小球

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

网友评论

      本文标题:2018-09-04_day12_pygame介绍

      本文链接:https://www.haomeiwen.com/subject/wnunwftx.html