day12-总结

python中的pygame

直接上代码(实用型模块)

  • 显示文本
import pygame
# 显示文字
if __name__ == '__main__':
    # 初始化pygame组件
    pygame.init()
    # 设置pygame的显示窗口尺寸
    screen = pygame.display.set_mode((1000,600))
    # 设置窗口背景色
    screen.fill((255, 255, 255))
    # 设置显示字体的字体类型,大小
    font = pygame.font.Font('./font/aa.ttf',50) # HYShangWeiShouShuW.ttf
    # 设置要显示的字体内容,平滑允许值,颜色
    surface = font.render('阿萨德', True, (255, 0, 0),(0,255,0))
    # 设置文字显示在画布上的坐标
    screen.blit(surface,(40,40))
    while True:
        # 监测窗口事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
        # 刷新窗口
        pygame.display.flip()
  • 显示图片
    import pygame
    import random

显示图片

if __name__ == '__main__':
    # 初始化pygame组件
    pygame.init()
    # 设置pygame的显示窗口尺寸
    screen = pygame.display.set_mode((1000, 600))
    # 设置窗口背景色
    screen.fill((255, 255, 255))
    # 获取图片对象
    image = pygame.image.load("./image/timg.jpg")
    # 获取图片大小
    size_image = image.get_size()
    print(size_image)
    # 形变
    """
    transform:形变包含缩放,旋转,平移
    """
    # 修改图片尺寸 scale
    trans_image = pygame.transform.scale(image, (1000, 600))
    # 旋转图片 rotate (旋转对象,旋转角度) 逆时针
    trans_image = pygame.transform.rotate(image,180)
    # 旋转+缩放 rotozoom (旋转对象,旋转角度,缩放比例)
    trans_image = pygame.transform.rotozoom(image,90,0.5)
    # 设置图片为窗口图标
    pygame.display.set_icon(image)
    # 设置图片显示在画布上的坐标
    screen.blit(trans_image, (0, 0))
    n = 0
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
        pygame.display.flip()
  • 绘制图形
import pygame
import math
import random
if __name__ == '__main__':
    # 初始化pygame组件
    pygame.init()
    # 设置pygame的显示窗口尺寸
    screen = pygame.display.set_mode((1000, 600))
    # 设置窗口背景色
    screen.fill((255, 255, 255))
    """
    1.画直线
    line(Surface ->画图位置,color ->颜色,start_pos ->起点,end_pos ->终点,width=1 ->线宽)
    lines(画线的位置,颜色,closed,点列表,宽度width=1)
    """
    line = pygame.draw.line(screen,(0,0,0),(20,20),(400,600),2)
    pygame.draw.lines(screen,(0,0,0),True,[(20,20),(200,500),(40,80)])
    """
    2.画图形
    矩形:rect(画图位置,颜色,(x,y,长,宽),width)
    曲线:arc(画图位置,颜色,矩形属性(左上顶点坐标x,y,长,宽),width)
    """
    q = (50,50,600,100)
    pygame.draw.rect(screen,(0,255,0),q,1)
    pygame.draw.arc(screen,(0,0,0),q,math.pi/2,math.pi*2,2)
    """
    3.画圆
    circle(位置,颜色,圆心位置,半径,width)
    """

    pygame.draw.circle(screen,
                       (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)),
                       (500, 300),
                       200, 0)
    """
    4.画椭圆
    ellipse(位置,颜色,rect,width)
    """
    pygame.draw.ellipse(screen,(0,0,0),(100,200,200,100),0)
    # 从此次往下为窗口控制变色小球的上下左右移动,键盘控制方式
    sumadd_m = 20
    sumadd_n = 300
    add_m = 0
    add_n = 0
    while True:
        screen.fill((255, 255, 255))
        pygame.draw.circle(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), (sumadd_m, sumadd_n),20, 0)
        # 刷新窗口
        pygame.display.flip()
        # 监测窗口事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_RIGHT:
                    add_m = 1
                elif event.key == pygame.K_LEFT:
                    add_m = -1
                elif event.key == pygame.K_UP:
                    add_n = -1
                elif event.key == pygame.K_DOWN:
                    add_n = 1
            elif event.type == pygame.KEYUP:
                if event.key == pygame.K_RIGHT:
                    add_m = 0
                elif event.key == pygame.K_LEFT:
                    add_m = 0
                elif event.key == pygame.K_UP:
                    add_n = 0
                elif event.key == pygame.K_DOWN:
                    add_n = 0
        sumadd_m += add_m
        sumadd_n += add_n
        # pygame.time.wait(10) # 控制程序单次循环运行时间,作用使程序每次循环暂停10毫秒
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明先生x阅读 15,967评论 3 119
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,436评论 6 428
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16
  • 今天我来谈一个现象,叫做别人家的孩子。 现象 对于一个孩子而言,总是有这么一个让人痛恨的存在,叫做`别人家的孩子'...
    刘雪峰LXF阅读 573评论 0 0
  • 这次月考,真不知道怎么形容反正是一言难尽! No,这次考得稀碎啊!!哎――好崩溃啊!现在好绝望啊!就只能等着屁...
    我只是疯了而已阅读 130评论 0 0