-
pygame效能很好,有很多是C语言写的;但是支持的声音格式很少,一般用.ogg的格式做背景音乐,用无压缩的.wav做音效(现在的版本好像也支持mp3等格式了)。
-
修改图像位置 (rect是位置,get_rect得到的)
speed=[-2,1]
rect.move(speed) -
图像翻转(图像对象,水平翻转,垂直翻转)
pygame.transform.flip(turtle,True,False) -
pygame.time.delay(10) # 延迟10毫秒
-
鼠标移动事件 buttons(左键,中间键,右键) rel(距离上一个点的位置)
MouseMotion('pos':(x,y),'buttons':(0,0,0),'rel':(x,y)) -
KeyUP 释放键盘按键
KeyDown 按下键盘按键
pygame中的所有事件.png -
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表示鼠标滑轮向下') -
获取行高 (font是对象)
font.get_linesize() -
screen.fill(背景色) 可以这样操作用来清屏
-
导入所有的常量名(例如需要输入pygame.KEYDOWN时可以直接输入KEYDOWN了)
from pygame.locals import * -
set_mode第二个参数(有图片介绍),用|连接多个
set_mode第二个参数.png
screen = pygame.display.set_mode((1024,768),FULLSCREEN|HWSURFACE)
-
pygame.display.list_modes()打印当前显示器所有支持的分辨率
例如[(1366,768),(1280,768),(1280,720),...]
若要取得用户全屏时的分辨率可以用这种方法,取返回列表的第一个 -
transform用法(有图片介绍)
transform的方法.png -
get_rect()其实是获取位置
pygame.mouse.get_pos()获取鼠标当前位置 -
png和gif格式的可以透明化,jpg的不能透明化,所以导入png可以用convert_alpha,导入jpg只能用convert
-
turtle.get_at(位置)可以获取此位置像素的颜色(turtle是对象)(0,0,0,透明度(0-255))
turtle.set_at((i,j),颜色) 设置此位置像素颜色 -
convert的图片可以用set_alpha(0-255)设置透明度,但是它是把整个图像加背景透明化。
-
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) -
播放音效用pygame.mixer.Sound()
播放背景音乐用pygame.mixer.music -
Sound对象的方法(有图片介绍)
Sound对象的方法.png -
music的一些方法(有图片介绍)
music的一些方法.png -
pygame.mouse.set_visible(False) 设为False表示鼠标不可见
-
pygame.time.set_timer(自定义事件,毫秒)设置自定义事件类型,每隔多少毫秒出现在事件队列中
-
要设置是否重复响应按下某个按键可以用pygame.key.set_repeat(delay,interval)
其中delay参数指定第一次发送事件的延迟时间,interval参数指定重复发送事件的时间间隔,如果不带任何参数,表示取消重复发送事件 -
Pyinstaller(python打包为exe文件):
pip install pyinstaller
在要打包的python文件的目录下执行如下命令:
pyinstaller -F -i res\app.ico 你的python文件名.py
其中res目录为你的项目文件下的资源目录,项目中用到的图片均放置在里面,其中app.ico是生成你的可执行文件的图标。
拷贝资源文件目录res到生成目录下的dist目录下
执行dist目录下的exe文件,打包完成。 -
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 -
paused_rect.collidepoint(event.pos)可以检测pos是否在这个矩形范围内
另:
dns服务器是域名解析服务器
tcp和udp区别(面试可能问):tcp可靠udp不可靠(udp容易丢包,可以用于音频)
网友评论