pygame(1)

下载

pip install pygame

最新版2.0.1

pygame.display

pygame.display.set_model()创建窗口

pygame.display.flip()刷新

pygame.display.set_caption()设置窗口名称

pygame.display.seticon()设置窗口图标

详见http://www.pygame.org/docs/ref/display.html

pygame.surface

表示图像

详见http://www.pygame.org/docs/ref/surface.html

这里主要讲一下

比如游戏中我们要做一些特效,如植物大战僵尸中僵尸的寒冰效果

就可以用get_at(),set_at()设置像素颜色

def paint(self,color):
		self.color=color
		s=pygame.Surface((self.image.get_width(),self.image.get_height()))
		s=s.convert_alpha()
		for x in range(self.image.get_width()):
			for y in range(self.image.get_height()):
				RGBA=self.image.get_at((x,y))
				if RGBA[0]!=None:
					RGBA[0]=color[0]
				if RGBA[1]!=None:
					RGBA[1]=color[1]
				if RGBA[2]!=None:
					RGBA[2]=color[2]
				#if RGBA[3]!=None:
				#	RGBA[3]=color[3]
				s.set_at((x,y),RGBA)
		return s

除外再讲一下

一般情况下RGBA中A(透明度)表现不出来

需convert_alpha()

这个方法十分好用

还能加快渲染速度

pygame.image.load('sth')->pygame.Surface

pygame.Rect

详见http://www.pygame.org/docs/ref/rect.html

pygame.Surface.get_rect()->pygame.Rect

这个可以理解为存放图像的容器

pygame.transform

详见http://www.pygame.org/docs/ref/transform.html

用于处理图像,可以实现如植物大战僵尸坚果保龄球坚果的旋转,阳光菇的长大等等

注意有一个坑点

每一帧调用pygame.transform.rotate(Surface,1)时,你以为是每一帧旋转一度,但是实际上图像会出现严重变形,正确的方法是new_Sunface=pygame.transform.rotate(old_Surface,a),a+=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值