这是学习嵩天老师的课程,习得并引以为笔记。
pygame是使用pygame.color表达色彩,Color类用于表达色彩类,使用RGB或RGBA色彩模式,A可选;RGB是红绿蓝三种颜色的的组合,RGB取值范围0~255,整数覆盖视力所能感知的所有颜色,Color类可以用色彩名字、RGBA值、HTML色彩格式等方式定义。如:
color(name) ----> color(“grey”)
color(r,g,b,a) ----> color(190, 190, 190, 255) 其中255可选
color(rgbvalue) ----> color("#BEBEBEFF") (十六进制格式)
有一个第四维度,即alpha通道,alpha通道表示不透明度,范围0~255,默认值为255,值越大不透明度越高,255表示不透明;
色彩表达可以如下:
其中pygame.Color.normalize ,划为0-1之间的浮点数,这对于有些RGM色彩模式的系统是可以实现无缝对接的。
了解完这些,我们再对之前的壁球小游戏进行修改,使它可以根据壁球的运动进行改变颜色,不会像之前的背景颜色只有一片黑漆漆的
其中R、G、B表示红绿蓝三色彩。
修改后的代码如下:
#!/sur/bin/env python
# -*- coding:utf-8 -*-
# author: fengderong time:2019/7/23
import pygame,sys
pygame.init()
icon = pygame.image.load("Aatrox0.jpg") #surface对象
pygame.display.set_icon(icon) #设置图标
#vInfo = pygame.display.Info() #设置显示
size = width,heigth = 600,400
#size = width,heigth = vInfo.current_w,vInfo.current_h
speed = [1,1]
BLACK = 0,0,0
#screen = pygame.display.set_mode(size)
screen = pygame.display.set_mode(size,pygame.RESIZABLE)
#screen = pygame.display.set_mode(size,pygame.NOFRAME)
#screen = pygame.display.set_mode(size,pygame.FULLSCREEN)
pygame.display.set_caption("游戏之旅")
ball = pygame.image.load("000111.gif")
ballrect = ball.get_rect()
fps = 300 #设置为300
fclock = pygame.time.Clock()
still = False #标记小球是静止还是移动
bgcolor = pygame.Color(