Python Pygame问题-功能正常,但视觉效果不佳

Python Pygame问题-功能正常,但视觉效果不佳,python,image,pygame,Python,Image,Pygame,我正在尝试用Pygame制作一个游戏,我想通过重新创建一个现有的项目来了解它是如何工作的。因此,我遵循了本教程: 虽然当我尝试运行视频描述中提供的源代码时,我会在游戏应该在的地方看到一个空白的白色屏幕,即使终端中的文本是正确的。Connect-4在终端中正常工作,但Pygame窗口除了保持空外什么也不做。(虽然我可以重新缩放那个窗口有多大 请参阅本教程中的代码,但以下是我试图实现的目标: # Game: Flower Shop // Flower Factory from __future_

我正在尝试用Pygame制作一个游戏,我想通过重新创建一个现有的项目来了解它是如何工作的。因此,我遵循了本教程:

虽然当我尝试运行视频描述中提供的源代码时,我会在游戏应该在的地方看到一个空白的白色屏幕,即使终端中的文本是正确的。Connect-4在终端中正常工作,但Pygame窗口除了保持空外什么也不做。(虽然我可以重新缩放那个窗口有多大

请参阅本教程中的代码,但以下是我试图实现的目标:



# Game: Flower Shop // Flower Factory
from __future__ import print_function
import sys
import os
import pandas as pd
import numpy as np
import operator as op
import numpy as np
import matplotlib.pyplot as plt
import pygame


GREEN = (0, 128, 0)

print('----------------------------')

print(os.getcwd())

print('')
print('----------------------------')
print('Welcome to your Flower Shop!')
print('----------------------------')

w, h = 5, 5
garden = [['x' for x in range(w)] for y in range(h)]


#print(garden)
#

# print(np.matrix(garden))

# for y in range(w):
#     for x in range(h):
#         print garden[y][x]


for y in range(h):
    print()
    for x in range(w):
        print (garden[y][x], end = ' ')

print()
print()


# w=10
# h=10
# fig=plt.figure(figsize=(8, 8))
# columns = 4
# rows = 5
# for i in range(1, columns*rows +1):
#     img = np.random.randint(10, size=(h,w))
#     fig.add_subplot(rows, columns, i)
#     plt.imshow(img)
# plt.show()


pygame.init()

squaresize = 100
width = w * squaresize
height = h * squaresize

size = (width, height)



def create_board():
    board = np.zeros((h,w))
    return board

def draw_garden(board):
    for c in range(w):
        for r in range(w):
            pygame.draw.rect(screen, GREEN, (c*squaresize, r*squaresize, squaresize, squaresize))





pygame.display.set_caption("Flower Breeder")
game_over = False
board = create_board()


screen = pygame.display.set_mode(size)
draw_garden(board)
pygame.display.update()


while not game_over:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

    pygame.event.get()

    pygame.draw.rect(screen, (255,0,0), (w, h, width, height))  #This takes: window/surface, color, rect
    pygame.display.update() # This updates the screen so we can see our rectangle

    screen.fill(GREEN)
    pygame.display.update()



# Flowers:
# easy - lilies, cosmos


# TODO: see notes

# TODO: use python to amimate the breeding using pictures to represent the flower pathes


谢谢!我真的需要通过这个空白屏幕:/

注意颜色值有一个alpha通道,所以(r,g,b,255) 从pygame文档:

PyGame1.8.1中有一个bug,默认alpha为0,而不是255 像以前一样

这可能是填充显示器时的问题。 我不太确定抽签顺序和双重更新

试一试

screen.fill()
pygame.draw.rect()
screen.update()