import pygame def init_Window(): pygame.init() global WND WND = pygame.display.set_mode((215, 144)) pygame.display.set_caption("测试窗口") while True: init_Window() bg = pygame.image.load("./res/shenzhi.png") for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() WND.blit(bg,(0,0)) pygame.display.update() pygame.display.flip()为什么运行不出现窗口
时间: 2024-03-22 16:41:47 浏览: 103
你的代码中的 `while` 循环可能会导致窗口无法正常显示。在 Pygame 中,主要循环应该是一个 `while` 循环,但是在这个循环内部你应该处理事件并进行游戏逻辑,最后再进行绘图和更新窗口。你可以尝试以下代码:
```python
import pygame
def init_Window():
pygame.init()
global WND
WND = pygame.display.set_mode((215, 144))
pygame.display.set_caption("测试窗口")
init_Window()
bg = pygame.image.load("./res/shenzhi.png")
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
WND.blit(bg, (0, 0))
pygame.display.update()
```
这个代码将 `init_Window()` 函数单独调用一次来初始化窗口,然后在主循环中处理事件,更新绘图并更新窗口。这样应该可以正常显示窗口并绘制图片。
相关问题
import sys import pygame from yaya import YAYA class Sky: def __init__(self): self.screen=pygame.display.set_mode((0,0),pygame.FULLSCREEN) self.bg_color=(0,23,56) self.yaya=YAYA(self) def run_game(self): while True: for event in pygame.event.get(): if event.type==pygame.QUIT: sys.exit() self.screen.fill(self.bg_color) self.yaya.blitme() self.display.flip() if __name__=='__main__': blny=Sky() blny.run_game()
在你的代码中,你有一个`Sky`类,以及一个`run_game`方法。在`run_game`方法中,你调用了`self.display.flip()`。然而,`display`属性实际上不存在于`Sky`类中。相反,你应该使用`pygame.display.flip()`来刷新屏幕。
因此,你的代码应该修改为:
```
import sys
import pygame
from yaya import YAYA
class Sky:
def __init__(self):
self.screen=pygame.display.set_mode((0,0),pygame.FULLSCREEN)
self.bg_color=(0,23,56)
self.yaya=YAYA(self)
def run_game(self):
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
self.screen.fill(self.bg_color)
self.yaya.blitme()
pygame.display.flip()
if __name__=='__main__':
blny=Sky()
blny.run_game()
```
这应该可以解决你遇到的问题。
import pygame pygame.init() dis=pygame.display.set_mode((400,300)) pygame.display.update() pygame.display.set_caption('Snake game') game_over=False while not game_over: for event in pygame.event.get(): if event.type==pygame.QUIT: game_over=True pygame.quit() quit() 按照上述要求把这段代码补全
import pygame
pygame.init()
dis = pygame.display.set_mode((400, 300))
pygame.display.set_caption('Snake game')
game_over = False
while not game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
# 在这里添加游戏的逻辑代码
pygame.display.update()
pygame.quit()
quit()
阅读全文
相关推荐














