问题遇到的现象和发生背景
pycharm实现飞机大战的过程中,出现了闪退现象
错误代码为Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
问题相关代码,请勿粘贴截图
import sys
import pygame
sys.setrecursionlimit(10000)
from plane_sprites import *
pygame.init()
screen = pygame.display.set_mode((480, 700))
background = pygame.image.load("./images/background.png")
screen.blit(background, (0, 0))
pygame.display.update()
hero = pygame.image.load("./images/me1.png")
screen.blit(hero, (200, 500))
pygame.display.update()
clock = pygame.time.Clock()
hero_rect = pygame.Rect(200, 500, 102, 126)
enemy = GameSprite("./images/enemy1.png")
enemy1=GameSprite("./images/enemy1.png",2)
enemy_group=pygame.sprite.Group(enemy,enemy1)
while True:
clock.tick(60)
for event in pygame.event.get():
if event.type==pygame.QUIT:
print("game over")
pygame.quit()
exit()
hero_rect.y -= 5
if hero_rect.y <= -126:
hero_rect.y = 700
screen.blit(background, (0, 0))
screen.blit(hero, hero_rect)
enemy_group.update()
enemy_group.draw(screen)
pygame.display.update()
pygame.quit()
副
import pygame
class GameSprite(pygame.sprite.Sprite):
def int(self, image_name, speed=1):
super().init()
self.image = pygame.image.load(image_name)
self.rect = self.image.get_rect()
self.speed = speed
def update(self, *args, **kwargs):
self.rect.y += self.speed
运行结果及报错内容
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
我的解答思路和尝试过的方法
因为虚拟机的,改了一下内存储存,看了一些类似贴感觉都不大对,没怎么敢改
我想要达到的结果
可以正常运行程序,不闪退