我最近开始学习游戏。我做了一个非常基本的程序(它所做的只是改变它自己的背景颜色):
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()然而,当程序运行时,它所做的只是生成一个空白的、黑色的游戏窗口。我使用的是Windows 10 64位家庭的python3.5.2和pyplay1.9.1。请帮我找出为什么这个计划不起作用?
发布于 2017-01-26 12:44:22
它很好,你只需使用非常深的颜色(R=3/255,G=4/255,B=5/255)。试试这个来获得一个蓝色的屏幕:
DISPLAY.fill((0,0,255))来自文档 on Surface.fill
填充(颜色,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()https://stackoverflow.com/questions/41873581
复制相似问题