2016-03-24 9 views
-3

Als ein Projekt, ich versuche, einen Bildschirm, der zufällige Farben alle zehn Sekunden oder so blinken wird.Regenbogen Bildschirm in Python

Hier ist der Code, den ich bisher habe:

import pygame, random 
from threading import Timer 

background_colour = (random.randint(0,255),random.randint(0,255),random.randint(0,255)) 
(width, height) = (300, 200) 

screen = pygame.display.set_mode((width, height)) 
pygame.display.set_caption('Rainbow!!!') 
screen.fill(background_colour) 


pygame.display.flip() 

running = True 
while running: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      running = False 
pygame.quit() 

Es einen Bildschirm mit einem zufälligen Hintergrund öffnet. Aber ich habe viele Methoden für meinen nächsten Schritt ausprobiert. Eine kleine Hilfe?

Antwort

2

diese notieren Bevor Sie, dass es ein schnelles Blinken Farben

enthält Sie müssen die Variable background_colour jede Zehntelsekunde

ein einfaches Programm, um das gewünschte Ergebnis erreicht ändern:

import pygame 
import random 

window_x = 300 
window_y = 200 

def get_rand_colour(): 
    colour_r = random.randint(0,255) 
    colour_g = random.randint(0,255) 
    colour_b = random.randint(0,255) 
    return (colour_r,colour_g,colour_b) 

screen = pygame.display.set_mode((window_x,window_y)) 
pygame.display.set_caption("Rainbow!") 
clock = pygame.time.Clock() 

done = False 
counter = 0 
colour = get_rand_colour() 

while not done: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      done = True 

    counter += 1 
    if counter > 3: 
     colour = get_rand_colour() 
     counter = 0 

    screen.fill(colour) 
    pygame.display.flip() 
    clock.tick(30) 

pygame.quit() 

Hoffe das hilft :)

+0

es sollte eine Anfall Warnung auf diesem sein .. – Tommy

+0

@ Tommy, True, bearbeitet –

Verwandte Themen