我是pygame的新手,我想知道什么是错的,我该如何解决它,谢谢!当我打开它时,我的pygame也会关闭,这就是为什么我拍了这样的截图。如果你还能解释为什么它快速关闭,那就太好了! (pygame 1.9.2 python 3.4.1,windows 8)![在此输入图像描述] [1]
#!/usr/bin/env python
import pygame, sys
from pygame.locals import *
pygame.init()
pygame.font.init()
pygame.display.set_caption('Primer juego de Gian Di Julio')
mainclock= pygame.time.Clock()
screen = pygame.display.set_mode((800,600))
pygame.mouse.set_visible(0)
#positioning the ship into the middle of the screen
ship = pygame.image.load('ship.png')
ship_top = screen.get_height() - ship.get_height()
ship_left = screen.get_width()/2 - ship.get_width()/2
pygame.Surface(ship,(ship_left,ship_top))
while True:
screen.fill((0,0,0))
x,y = pygame.mouse.get_pos()
screen.blit(ship, (x-ship.get.width()/2, ship_top))
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
pygame.display.update()
pygame.display.flip()
答案 0 :(得分:0)
我只是在pygame文档中查找过:
Surface((width,height),flags = 0,Surface) - >表面
但是您的程序中没有使用返回的曲面,因此您可能会将其遗漏。
使用pygame.display.flip()时,不需要调用pygame.display.update()。
另外它应该缩进。
答案 1 :(得分:0)
由于您的代码中存在语法错误,因此会很快关闭。
pygame.Surface(ship,(ship_left,ship_top))
此行尝试创建一个表面,其尺寸取自ship变量。 由于船舶是从图像加载的表面,因此失败。
删除此行将解决此问题。