问题遇到的现象和发生背景
使用pygame画移动的矩形时想要实现:当矩形碰到边界时,矩形改变颜色并保留。
我的解答思路和尝试过的方法
在触碰边界时,矩形改变为负速度并转向的条件下加入随机改变颜色,但是不知道该颜色如何保留
我想要达到的结果
当矩形碰到边界时,矩形改变颜色并保留。
以下是我的代码
import pygame,sys
from pygame.locals import *
import random
pygame.init()
screen = pygame.display.set_mode((800,600))
pygame.display.set_caption('game')
#矩形的初始位置
pos_x = 300
pos_y = 250
val_x = 2
val_y = 1
#退出游戏快捷键设置
while True:
for event in pygame.event.get():
if event.type in (QUIT,KEYDOWN):
sys.exit()
screen.fill((255,255,255))
#矩形绘制参数设置
color = 0,0,0
pos= pos_x,pos_y,50,50
width =8
pos_x += val_x
pos_y += val_y
#检验矩形是否触碰边界
if pos_x >750 or pos_x <0:
val_x = -val_x
#这是我尝试的解决方法
** color = ((random.randint(1, 255), random.randint(1, 255), random.randint(1, 255)))**
if pos_y >550 or pos_y < 0:
val_y = -val_y
** color= ((random.randint(1, 255), random.randint(1, 255), random.randint(1, 255)))**
pygame.draw.rect(screen, color, pos, width)
pygame.display.update()