gpt4 book ai didi

python - 执行代码时仍然在 pygame 控制台中出现黑屏

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:50 25 4
gpt4 key购买 nike

在发布这个问题之前,我已经阅读了 Stack 中的其他几个问题,但它们似乎都与我的问题无关。此外,我已经阅读了数小时的代码,试图修复它,但一无所获。

我真的很想知道我的代码出了什么问题,以及为什么我在执行 pygame 代码时仍然出现黑屏。

代码如下:

import pygame,sys
from pygame.locals import *
from random import randint

pygame.init()
ventana = pygame.display.set_mode((1000,1000))
#abajo se encuentra el fondo de la ventana
#ventana.fill(ColorDos)
pygame.display.set_caption("Retouch")

Mi_imagen = pygame.image.load("Image/meflag.png")
Imagen_Dos = pygame.image.load("Image/Kool-Aid.gif")
posX= randint (100, 300)
posY = randint (101, 200)

velocidad=4
Color = (66, 133 ,244)#Azul
ColorDos = pygame.Color(244, 180, 0)#Amarillo
ColorTres = (244,67,54)#Rojo
ColorCuatro = (0,135,68) #verde
derecha=True

rectangulo = pygame.Rect(0,0,100,50)
print posY, posX

# Color = (244,180,0)
#primero donde, despues, color(tupla u objeto), tupla de cordenadas en X, Y. El ultimo parametro es el tamano del radio.
pygame.draw.circle(ventana, Color, (200, 300), 500)
"""Primero donde, despues que color, despues tupla con cuatro valores.
Los primeros dos valores (X,Y) son la esquina izquierda superior.
El tercer valor es el ancho de nuestro rectangulo.
Y el cuarto valor es el alto del rectangulo:"""
pygame.draw.rect(ventana, ColorCuatro,(100,100,100,50) )
"""Primero donde, despues color, despues el tercer parametro es una tupla con tuplas dentro de esta.
Dentro de esa tupla se encuentras las cordenadas, posiciones (X,Y) de los puntos que al final pygame une."""
pygame.draw.polygon(ventana, ColorTres, ((80,90),(200,400), (80,10)) )


while True:
ventana.fill(ColorDos)
# ventana.blit(Mi_imagen,(posX, posY))
ventana.blit(Imagen_Dos,(posX, posY))
pygame.draw.rect(ventana, ColorTres,rectangulo)
rectangulo.left, rectangulo.top = pygame.mouse.get_pos()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
"""Este de abajo mueve a Kool-Aid"""
# posX,posY=pygame.mouse.get_pos()
# posX=posX-100
# posY=posY-50

"""Lo de abajo(comentado) mueve la imagen sin parar"""
if derecha==True:
if posX <400:
posX+=velocidad
else:
derecha=False
else:
if posX>1:
posX-=velocidad
else:
derecha=True

# elif event.type == pygame.KEYDOWN:
# if event.key == K_LEFT:
# posX-=velocidad
# elif event.key == K_RIGHT:
# posX+=velocidad

pygame.display.update()

下次我怎样才能避免这种情况?

最佳答案

你有错误的缩进并且 update() 不在 while True 循环内 - 所以你不会将数据从缓冲区发送到视频卡和屏幕上

while True:
ventana.fill(ColorDos)
# ventana.blit(Mi_imagen,(posX, posY))
ventana.blit(Imagen_Dos,(posX, posY))
pygame.draw.rect(ventana, ColorTres,rectangulo)
rectangulo.left, rectangulo.top = pygame.mouse.get_pos()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
"""Este de abajo mueve a Kool-Aid"""
# posX,posY=pygame.mouse.get_pos()
# posX=posX-100
# posY=posY-50

"""Lo de abajo(comentado) mueve la imagen sin parar"""
if derecha==True:
if posX <400:
posX+=velocidad
else:
derecha=False
else:
if posX>1:
posX-=velocidad
else:
derecha=True

# elif event.type == pygame.KEYDOWN:
# if event.key == K_LEFT:
# posX-=velocidad
# elif event.key == K_RIGHT:
# posX+=velocidad

pygame.display.update()

关于python - 执行代码时仍然在 pygame 控制台中出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35131093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com