飞机大战项目知识点补充

  1. pygame效能很好,有很多是C语言写的;但是支持的声音格式很少,一般用.ogg的格式做背景音乐,用无压缩的.wav做音效(现在的版本好像也支持mp3等格式了)。

  2. 修改图像位置 (rect是位置,get_rect得到的)
    speed=[-2,1]
    rect.move(speed)

  3. 图像翻转(图像对象,水平翻转,垂直翻转)
    pygame.transform.flip(turtle,True,False)

  4. pygame.time.delay(10) # 延迟10毫秒

  5. 鼠标移动事件 buttons(左键,中间键,右键) rel(距离上一个点的位置)
    MouseMotion('pos':(x,y),'buttons':(0,0,0),'rel':(x,y))

  6. KeyUP 释放键盘按键
    KeyDown 按下键盘按键


    pygame中的所有事件.png
  7. if event.type == MOUSEBUTTONDOWN: # 鼠标点击
    if event.button == 1:
    print('1表示鼠标左键')
    if event.button == 2:
    print('1表示鼠标中间键')
    if event.button == 3:
    print('3表示鼠标右键')
    if event.button == 4: # 4和5不确定
    print('4表示鼠标滑轮向上')
    if event.button == 5:
    print('5表示鼠标滑轮向下')

  8. 获取行高 (font是对象)
    font.get_linesize()

  9. screen.fill(背景色) 可以这样操作用来清屏

  10. 导入所有的常量名(例如需要输入pygame.KEYDOWN时可以直接输入KEYDOWN了)
    from pygame.locals import *

  11. set_mode第二个参数(有图片介绍),用|连接多个


    set_mode第二个参数.png

screen = pygame.display.set_mode((1024,768),FULLSCREEN|HWSURFACE)

  1. pygame.display.list_modes()打印当前显示器所有支持的分辨率
    例如[(1366,768),(1280,768),(1280,720),...]
    若要取得用户全屏时的分辨率可以用这种方法,取返回列表的第一个

  2. transform用法(有图片介绍)


    transform的方法.png
  3. get_rect()其实是获取位置
    pygame.mouse.get_pos()获取鼠标当前位置

  4. png和gif格式的可以透明化,jpg的不能透明化,所以导入png可以用convert_alpha,导入jpg只能用convert

  5. turtle.get_at(位置)可以获取此位置像素的颜色(turtle是对象)(0,0,0,透明度(0-255))
    turtle.set_at((i,j),颜色) 设置此位置像素颜色

  6. convert的图片可以用set_alpha(0-255)设置透明度,但是它是把整个图像加背景透明化。

  7. pygame.draw.rect(surface,color,rect,width=0) width=0表示用颜色填充
    绘制多边形 pygame.draw.ploygon(surface,color,pointlist,width=0) pointlist是各个顶点坐标
    绘制圆形 pygame.draw.circle(surface,color,pos,radius,width=0) pos是圆心
    绘制椭圆形 pygame.draw.ellipise(surface,color,rect,width=0) rect是限定矩形
    绘制弧线 arc(surface,color,rect,startangle,stop_angle,width=1) ep:pygame.draw.arc(screen,BLACK,(220,50,200,200),math.pi,math.pi*2,1)
    绘制一条线段 line(surface,color,start_pos,end_pos,width=1)
    绘制多条线段 lins(surface,color,closed,pointlist,width=1) closed为1的话表示画出的线段是首尾相连的 # 注意:width=0时线段也不能填充,因为是线段
    绘制抗锯齿线段 aaline(surface,color,startpos,endpos,blend=1) blend是指定是否混合阴影抗锯齿(一般使用)
    绘制多条抗锯齿线段 aalines(surface,color,closed,pointlist,blend=1)

  8. 播放音效用pygame.mixer.Sound()
    播放背景音乐用pygame.mixer.music

  9. Sound对象的方法(有图片介绍)


    Sound对象的方法.png
  10. music的一些方法(有图片介绍)


    music的一些方法.png
  11. pygame.mouse.set_visible(False) 设为False表示鼠标不可见

  12. pygame.time.set_timer(自定义事件,毫秒)设置自定义事件类型,每隔多少毫秒出现在事件队列中

  13. 要设置是否重复响应按下某个按键可以用pygame.key.set_repeat(delay,interval)
    其中delay参数指定第一次发送事件的延迟时间,interval参数指定重复发送事件的时间间隔,如果不带任何参数,表示取消重复发送事件

  14. Pyinstaller(python打包为exe文件):
    pip install pyinstaller
    在要打包的python文件的目录下执行如下命令:
    pyinstaller -F -i res\app.ico 你的python文件名.py
    其中res目录为你的项目文件下的资源目录,项目中用到的图片均放置在里面,其中app.ico是生成你的可执行文件的图标。
    拷贝资源文件目录res到生成目录下的dist目录下
    执行dist目录下的exe文件,打包完成。

  15. self.mask=pygame.mask.from_surface(self.image)
    并且在检测碰撞那里加上参数pygame.sprite.spritecollide(me,enemies,False,pygame.sprite.collide_mask)
    可以设置后碰撞检测的是非透明部分
    pygame.sprite.collide_mask(powerup,me)#检测两个精灵是否碰撞,若碰撞会返回True,否则返回False

  16. paused_rect.collidepoint(event.pos)可以检测pos是否在这个矩形范围内

另:
dns服务器是域名解析服务器
tcp和udp区别(面试可能问):tcp可靠udp不可靠(udp容易丢包,可以用于音频)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341