绘制矩形示例是唯一一个绕着屏幕移动的示例。修改该程序,以便任何时候,当矩形碰到屏幕边界时,矩形都会改变颜色。
import math
import sys
import pygame
import random
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,500))
pygame.display.set_caption(("画变色矩形"))
pos_x=300
pos_y=200
vel_x=0.2
vel_y=0.1
color=255,255,0
while True:
for event in pygame.event.get():
if event.type in (QUIT,KEYDOWN):
sys.exit()
#clean the screen
screen.fill((0,0,200))
#move the rectangle
pos_x+=vel_x
pos_y+=vel_y
r=random.randint(0,255)
g=random.randint(0,255)
b=random.randint(0,255)
if pos_x>500 or pos_x<0:
vel_x=-vel_x
color=r,g,b
if pos_y>400 or pos_y<0:
vel_y=-vel_y
color=r,g,b
width=0
pos = pos_x,pos_y,100,100
pygame.draw.rect(screen, color, pos, width)
pygame.display.update()