Pygame не может нарисовать круг, если его центр находится за пределами экранаPython

Программы на Python
Anonymous
Pygame не может нарисовать круг, если его центр находится за пределами экрана

Сообщение Anonymous »

Я не профессиональный программист или кто-то еще, я всего лишь энтузиаст.
Это начало происходить со мной совсем недавно, и я не вносил никаких изменений в свой код, поэтому не знаю. с чего начать поиск решения.
Для этого примера я попросилchat-gpt написать простой код pygame (вставлен ниже), но это происходит со мной в любом коде, который я недавно писал. написал, используя pygame:

Код: Выделить всё

import pygame
import numpy as np
import sys

# Initialize Pygame
pygame.init()

# Set up the window
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("Pygame with Circle")

# Set up the colors
RED = (255, 0, 0)
WHITE = (255, 255, 255)

# Set up the player's properties using NumPy arrays
player_radius = 25
player_pos = np.array([WINDOW_WIDTH // 2, WINDOW_HEIGHT // 2])
player_speed = 5

# Main game loop
running = True
while running:
# Event handling
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# Player movement
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_pos[0] -= player_speed
if keys[pygame.K_RIGHT]:
player_pos[0] += player_speed
if keys[pygame.K_UP]:
player_pos[1] -= player_speed
if keys[pygame.K_DOWN]:
player_pos[1] += player_speed

# Fill the background with white
window.fill(WHITE)

# Draw the player as a circle
pygame.draw.circle(window, RED, player_pos, player_radius)

# Update the display
pygame.display.flip()

# Cap the frame rate
pygame.time.Clock().tick(60)

# Quit Pygame
pygame.quit()
sys.exit()
Если в коде примера я использую стрелки для перемещения круга вправо, в конечном итоге он уйдет за пределы экрана.
Изображение

Но если я сдвину его влево, оно выиграет Не просто идти, а вместо этого оставить красную полосу, покрывающую весь экран, размером с диаметр круга и расположенную в том же положении, что и высота центра круга. Красная полоса появится, как только координата x центра круга будет меньше нуля.
[img]https://i .stack.imgur.com/HF0r5.png[/img]

Это происходит только с кругами. Красный квадрат обычно перемещается к границе экрана.
Изображение

Как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/781 ... the-screen

Вернуться в «Python»