在Pygame中只占显示的一半?

时间:2019-06-07 01:04:51

标签: python pygame

我是Pygame的新手,我只希望填充屏幕的某些部分,例如一半。目前,我只能填写整个屏幕。有人可以帮忙吗?

import pygame
color= (255, 0, 0)
screen = pygame.display.set_mode((740, 780))
screen.fill(color)

3 个答案:

答案 0 :(得分:2)

.fill()的第二个参数是一个矩形,用于定义要填充的区域。
pygame.Surface对象的宽度和高度可以分别由.get_width() .get_height()获得:

例如

screen.fill(color, (0, 0, screen.get_width()// 2, screen.get_height()))

答案 1 :(得分:1)

import pygame

size = w,h = 300, 400
scr = pygame.display.set_mode((w,h))
pygame.display.set_caption("Hello")
scr.fill((0,255,0), rect=(0,0,w,h/2))
pygame.display.flip()

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

enter image description here

答案 2 :(得分:1)

一种部分填充的方法可能包括在屏幕的一半上“绘制”一个形状(即矩形)。

import sys

import pygame

def half_screen():
    #Initialize game and create screen object.
    pygame.init()
    color= (255, 0, 0)
    screen = pygame.display.set_mode((200, 400))
    #Draw rectangle to fill the left half of the screen.
    left_half = pygame.draw.rect(screen, color,(0,0, 100, 400))

    #Start loop for game- keeps screen open until you decide to quit.
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        #Make the current screen visible.
        pygame.display.flip()

half_screen()

您可以转到https://www.pygame.org/docs/ref/draw.html

来找到有关绘制模块pygame.draw的更多信息。