非参数检验方法,位置参数的使用方法是什么,常见非参数检验方法
pygame。方法将一个图像(表面实例)绘制到另一个图像(表面实例)上。对于曲面实例屏幕,blit方法的具体用法是
Rect=screen.blit(source,dest,area=None,special_flags=0)参数source是一个矩形图像(Surface实例),另一个矩形图像scree参数dest可以是矩形图像源左上角的屏幕上的坐标。例如,以下内容:
Screen=py game . display . set _ mode(200,200) # Screen是一个宽度和高度为200screen.blit) ##image,)10,10
screen=py game . display . set _ mode(200,200)rect=image . get _ rect))rect . x,rect.y=10,10screen.blipygame提供了另一种使用python语句消除背景的方法。见第12条案文。该行为如下图所示。左图没有用第十二句。第十二句用在右图中。
完整的步骤如下。仅仅靠复制源程序是无法正常工作的。你必须使用绘图程序生成一个png格式的图形文件,文件的宽度和高度为100,背景为黑色,中间有一个轮廓,圆圈用红色填充。文件名叫做“g.png”,必须保存在源程序所在的文件夹中才能正常工作。
ImportpyGameBlack=(0,0,0))两种颜色创建方法bgcolor=py game . color(blue)py game . init)size=width,height=200,创建一个200 #游戏窗口大小screen=py game . display . set _ mode(size)py game . display . set _ caption(Python语句中的背景除外)window p=py game . transform . scale(p,(r.width///2,r.height//2)) (p=PP r.height//2))即使这个条的背景不可用,后台fclock=pygame.time.Clock) #有一个定义clockfps=5 #创建一个控制频率,每秒多少帧正在运行=true在运行时:#处理结束事件或在py game . event . get(3360 if event . type==py game . quit:running=false screen . fill(bgcolor))Height//4))在图片中的矩形上绘制图形# py game . display . update(py . flip)#,重新显示游戏场景fclock.tick (FPS程序在这一帧中运行几秒钟。可选参数area是一个Rect对象,这意味着从源的area区域中检索图像并将其绘制在屏幕上。如果source是一个图像image,包含8个2行4列宽高的动画帧,那么每帧的宽度是width//4,每帧的高度是height//2。从源区域逐帧取出图像并在屏幕(10,10)上显示它们的方法如下。
screen=py game . display . set _ mode(size)image=py game . image . load(照片下pic/1.png )。
Convert_alpha() #背景变得透明frameNum=0 #帧数从0-7,初始值为0,完成一帧。1加8,改为0rect=image.get_rect()#左上角坐标为(0,0),右下角坐标为(width,height)#取一帧图像Rect2=pygame.rect (0,0,rect.width//4, rect.height//2)row=frame num//4 #宽度为rect.width//4,高度为rect.height,求整数商作为行号,根据framenum: 0,1col=frameNum%4 #进行更改,求余数作为列号。根据frameNum的变化:0,1,2,3 rect2.x=col * rect2.width # rect2是blit方法的第三个参数,frameNum=0,rect2.y=row*rect2.height #=1,第2帧,=3,第4帧,=4。框架5.#用rect2从图像中截取一帧并显示屏幕。屏幕坐标(10,10)处的Blit (image,(10,10),rect2)。根据这个原理,编写了一个八帧的运行程序。8帧运行图形的图像是blit的第一个参数,如下所示。图像是png格式的,背景已经变得透明。
程序运行效果图如下。可见从右向左跑的画质不太好。考虑到去除黑色背景时,黑色小人的某些部位会作为背景变得透明。如果把黑色小人换成红色小人,效果可能会更好。或者将透明背景色改为白色,从透明背景图像中取出一些图像,失去透明度,背景就会变成白色。第33句改为将背景色改为白色。不知是否可行。不知道有没有别的更好的办法。
具体流程如下。只复制源程序无法正确运行。可以用截图工具对前8个运行图像进行截图,保存为png文件,用在线背景透明网页或微软powerpoint将背景改为透明,保存在源程序所在文件夹的子文件夹pic中。
ImportGameBlack=(0,0,0) #两种创建颜色的方法BGColor=py game . color( blue )py game . init()size=width,height=300,20 screen=py game . display . Set _ mode(size)#创建游戏窗口大小py game . display . Set _ caption( running )#设置窗口标题image=py game . image . load( pic/picture to bottom 1 . png )。convert_alpha () #背景已经变成透明rect=image . get _ rect()rect 2=py game . rect(0,0,rect.width//4, Rect.height//2)# blit方法第三个参数fclock=pygame.time.Clock() #创建控制频率的时钟fps=5 #定义刷新频率X=0 # blit方法第二个参数的X坐标,y坐标不变。frameNum=0 #帧数从0到7,初始值为0,完成一帧,其值增加1到8。Change 0direction=0 #=0,从左向右运行,=1,从右向左运行=true运行时:for event in py game . event . get():if event . type==py game . quit:#处理退出事件Running=false screen . fill(bgcolor)#设置背景色row=frameNum//4 #,计算整数商作为行号,根据frameNum: 0,1 col=frameNum% 4 #计算余数作为列号,根据framenum: 0,1,2,3, rect2.x=col*rect2.width #rect2是blit方法的第三个参数,Rect2.y=row*rect2.height #根据frameNum的变化,在direction==0的情况下从图像中取不同的帧:screen.blit (image,(x,60),Rect2) #在屏幕上的指定位置绘制图形else: #不知道有没有其他更好的方法来反转图像p=pygame。 Surface ((rect2.width,rect2.height)) #创建一个Surface实例p.blit(image,(0,0),Rect2) #将rect2区域图像从image复制到P,将左上角对齐P=pygame.transform.flip (p,true,false)# reverse # P . convert _ alpha()#添加此语句后,不能删除背景p.set_colorkey(BLACK) #删除图像背景,不理想屏幕. blit (p,(x,60)) framenum=1 if framenum=. 从左往右跑,x增加x=20 if x 80width: #你是否触碰到右边界方向=1 else: #=1,从右往左跑,x减少x-=20 if x0: #你是否触碰到左边界方向=0pygame.display.flip () #刷新游戏场景fclock.tick(fps) #这一帧的程序已经运行了好几秒了。 为了保证fps,这个语句保证延迟剩余时间pygame.quit()。可选参数special_flags是Pygame 1.8.0新增的,用于指定混合模式:BLEND_ADD、BLEND_SUB、BLEND_MULT、BLEND_MIN、BLEND _ MAX;1.8.1添加:BLEND_RGBA_ADD,BLEND_RGBA_SUB,BLEND_RGBA_MULT,BLEND_RGBA_MIN,BLEND_RGBA_MAX,BLEND_RGB_ADD,BLEND_RGB_SUB,BLEND_RGB_MULT,BLEND以后可能会添加更多新的标志。
在屏幕(表面对象)上绘制参数源(表面对象)时,它们对应位置的颜色是混合的。默认情况下,参数源颜色应该覆盖屏幕上相应点的颜色。不知道理解对不对。