在pycharm中运行pygame,不报错但是黑屏。哪位大佬可以帮忙?代码如下:

importsysimportpygamefromsettingsimportSettingsfromshipimportShipclassAlienInvasion:d... import sys

import pygame
from settings import Settings
from ship import Ship

class AlienInvasion:

def __init__(self):
pygame.init()
self.settings=Settings()

self.screen=pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))

self.screen=pygame.display.set_mode((1200, 800))
pygame.display.set_caption("Alien Invasion")

self.ship=Ship(self)

self.bg_color=(230, 230, 230)

def run_game(self):
self.screen.fill(self.settings.bg_color)
self.ship.blitme()
while True:
self._check_events()
self._update_screen()
def _check_events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
self.ship.rect.x+=1

def _update_screen(self):
self.screen.fill(self.bg_color)

if __name__ == '__main__':
ai = AlienInvasion()
ai.run_game()
展开
 我来答
孤独的天真_
2023-02-11
知道答主
回答量:47
采纳率:0%
帮助的人:3.8万
展开全部
黑屏可能是因为更新屏幕的方法有问题。代码中的两行设置屏幕大小的代码重复了,并且最后一行调用的是 self.bg_color 而不是 self.settings.bg_color,这也可能是导致黑屏的原因。请尝试更改代码:
import sys
import pygame
from settings import Settings
from ship import Ship
class AlienInvasion:
def __init__(self):
pygame.init()
self.settings=Settings()
self.screen=pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
pygame.display.set_caption("Alien Invasion")
self.ship=Ship(self)
def run_game(self):
while True:
self._check_events()
self._update_screen()

def _check_events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
self.ship.rect.x+=1

def _update_screen(self):
self.screen.fill(self.settings.bg_color)
self.ship.blitme()
pygame.display.flip()
if __name__ == '__main__':
ai = AlienInvasion()
ai.run_game()
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式