外星人入侵(二)

该游戏中用到的方法和函数

pygame.init()

初始化pygame,让pygame能够正常工作

screen=pygame.display.set_mode((1200,800))

设置一个名为screen的显示窗口,并设置大小

pygame.display.set_caption(“外星人入侵”)

让游戏名称显示在窗口上

监视键盘和鼠标事件

for event in pygame.event.get():
	if event.type==pygame.QUIT:
		sys.exit()

使窗口能够正常关闭

pygame.display.flip()

不断更新屏幕,并使最近绘制的屏幕可见.

screen.fill((123,34,56))

对screen使用fill来填充颜色,这个方法只接受一个实参,一种颜色

pygame.image.load(’ 图像名 ')

与图像不在同一个文件夹的要显示路径名,这个函数返回一个表示图像的surface

surface.get_rect()

对surface使用get_rect()方法,获取其位置属性包括:
x,y,top,bottom,right,topleft,bottonleft,topright,bottomright,midtop,midbottom,
midrighr,center,centerx,centery,size,width,height,

screen.blit(self.image,self.rect)

这个方法是将一个图像绘制到另一个图像上,这里的self.image指的是加载图像时返回的
的一个surface,self.rect指的是图像的位置信息.

监听键盘

event.type==pygame.KEYDOWN
event.type==pygame.LEYUP
event.type==pygame.K_RIGHT

上述三行代码分别判断的是键盘键是否按下,键盘键是否松开,键盘上的方向右键是否被操作.

pygame.Rect(left,top,width,height)

创建一个矩形

pygeme.draw.xxx

  1. pygame.draw.rect 原型:pygame.draw.rect(Surface, color, Rect, width=0): return Rect用途:在Surface上绘制矩形,第二个参数是线条(或填充)的颜色,第三个参数Rect的形式是((x, y), (width, height)),表示的是所绘制矩形的区域,其中第一个元组(x, y)表示的是该矩形左上角的坐标,第二个元组 (width, height)表示的是矩形的宽度和高度。width表示线条的粗细,单位为像素;默认值为0,表示填充矩形内部。
  2. pygame.draw.polygon
    原型:pygame.draw.polygon(Surface, color, pointlist, width=0): return Rect
    用途:polygon是多边形,这个函数和rect类似,除了第三个参数。顾名思 义,pointlist是一个坐标点的列表,表示多边形的各个顶点.

sprite.groupcolide()

碰撞检测,参数为两个编组

empty()

清空列表

sprite.spritecollideany()

碰撞检测,参数为图像和一个编组

sleep(10)

sleep是time模块中的一个函数,主要用来停顿

pygame.font.SysFont(字体,字号).renter(文本,True,文本颜色,背景颜色)

也可以设置一个中间变量来渲染文本

pygame.mouse.set_visible(False)

隐藏光标
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
#模块导入 import pygame,sys from pygame.locals import* #初始化pygame pygame.init() #设置窗口大小,单位是像素 screen = pygame.display.set_mode((500,400)) #设置背景颜色 screen.fill((0,0,0)) #设置窗口标题 pygame.display.set_caption("你好,我的朋友") # 绘制一条线 pygame.draw.rect(screen, (0,0,0), [0,100,70,40]) #加载图片 img = pygame.image.load("panda.jpg") #初始化图片位置 imgx = 0 imgy = 10 #加载和播放音频 sound = pygame.mixer.Sound('Sound_Of_The_Sea.ogg') sound.play() #加载背景音乐 pygame.mixer.music.load('TEST1.mp3') #播放背景音乐,第一个参数为播放的次数(-1表示无限循环),第个参数是设置播放的起点(单位为秒) pygame.mixer.music.play(-1, 30.0) #导入文字格式 fontt=pygame.font.Font(None,50) #配置文字 tex=fontt.render("It is boring!!!",True,(0,0,128),(0,255,0)) #显示文字及坐标 texr=tex.get_rect() texr.center=(10,250) #初始化方向 dire = "right" #设置循环 while 1: #绘制文字 screen.blit(tex,texr) screen.fill((0,0,0)) screen.blit(img,(imgx,imgy)) if dire == "right": imgx+=5 if imgx == 380: dire = 'down' elif dire == 'down': imgy += 5 if imgy == 300: dire = 'left' elif dire == 'left': imgx -= 5 if imgx == 10: dire = 'up' elif dire == 'up': imgy -= 5 if imgy == 10: dire = 'right' #获取事件 for ss in pygame.event.get(): #判断事件 if ss.type == QUIT: #退出Pygame pygame.quit() #退出系统 sys.exit() #绘制屏幕内容 pygame.display.update() #设置帧率 pygame.time.delay(10)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值