Заполнить только одну половину дисплея в Pygame? - PullRequest
1 голос
/ 07 июня 2019

Я новичок в Pygame и хочу заполнить только некоторые части моего экрана, например половину.В настоящее время я могу заполнить только весь экран.Может кто-нибудь помочь?

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

Ответы [ 3 ]

2 голосов
/ 07 июня 2019

2-й параметр .fill() - это прямоугольник, который определяет область, которую нужно заполнить.
Ширина и высота объекта pygame.Surface могут быть получены с помощью .get_width() соответственно .get_height():

, например * * 1016

screen.fill(color, (0, 0, screen.get_width()// 2, screen.get_height()))
1 голос
/ 07 июня 2019

Один из способов частичного заполнения может включать «рисование» фигуры (то есть прямоугольника) на половине экрана.

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()

Вы можете найти больше информации о модуле розыгрыша - pygame.draw - перейдя на https://www.pygame.org/docs/ref/draw.html

1 голос
/ 07 июня 2019
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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...