最近开始学习pygame。我制作了一个非常基本的程序(它所做的只是改变它自己的背景颜色):
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()
Run Code Online (Sandbox Code Playgroud)
然而,当程序运行时,它所做的只是产生一个空白的黑色 pygame 窗口。我正在使用 Windows 10 64 位家庭版以及 python 3.5.2 和 pygame 1.9.1。请帮我弄清楚为什么该程序不起作用?
它工作正常,您只是使用非常暗的颜色(R = 3/255,G = 4/255,B = 5/255)。尝试此操作以获取蓝屏:
DISPLAY.fill((0,0,255))
Run Code Online (Sandbox Code Playgroud)
从文档中Surface.fill:
Run Code Online (Sandbox Code Playgroud)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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10659 次 |
| 最近记录: |