2017-01-26 8 views
1

私は最近pygameの学習を始めました。私は非常に基本的なプログラムを作った(それがないすべてはそれ自身の背景色を変更する場合):Pygame Surface.fill()not working

import pygame 
from pygame.locals import * 

pygame.init() 
DISPLAY = pygame.display.set_mode((800,600)) 


while True: 
    for event in pygame.event.get(): 
     if event == QUIT: 
      pygame.quit() 
      sys.exit() 
    DISPLAY.fill((3,4,5)) 
    pygame.display.update() 

プログラムはそれがなかったすべては、ブランク、黒pygameのウィンドウを生成した走っまだとき。私はPython 3.5.2とPygame 1.9.1でWindows 10 64ビットホームを使用しています。なぜプログラムがうまくいかなかったのか理解してもらえますか?

答えて

3

非常に暗い色を使用しています(R = 3/255、G = 4/255、B = 5/255)。 Surface.filldocumentationから

DISPLAY.fill((0,0,255)) 

::ブルースクリーンを取得するには、これを試してみてください

fill(color, rect=None, special_flags=0) -> Rect 

...

色引数はRGBシーケンス、RGBAシーケンスのいずれかになりますまたはマップされたカラーインデックス。

RGB値の各成分は0〜255の範囲であり、255はその成分の最大強度を表す。純粋な黒は、(0, 0, 0)、白は(255, 255, 255)と表されます。


は、より良いデモンストレーション(または楽しい)のために、あなたは別のRGB値から得ることができるもの背景色のアイデアを得るために、このプログラムを使用することができます。

from itertools import product 

import pygame 
import sys 

pygame.init() 
DISPLAY = pygame.display.set_mode((200, 200)) 

for r, g, b in product(range(0, 255, 16), repeat=3): 
    print('r={}, g={}, b={}'.format(r, g, b)) 
    DISPLAY.fill((r, g, b)) 
    pygame.display.update() 
    pygame.time.delay(10) 

pygame.quit() 
sys.exit() 
+0

はとてもありがとうございました!あなたの答えは私の問題を解決しました! – Tookie345