choice_chance 2021-06-26 22:58 采纳率: 100%
浏览 133
已采纳

按理它运行完之后应该是一个pygame窗口里出现一个飞船,但却不行,为什么?

import pygame

class Ship:
	"""管理飞船"""
	
	def __init__(self,ai_game):
		"""初始化飞船并设置其初始位置"""
		self.screen = ai_game.screen
		self.screen_rect = ai_game.screen.get_rect()
		
		#加载飞船图像并获取其外接矩形
		self.image = pygame.image.load('images/ship.bmp')
		self.rect = self.image.get_rect()
		
		#对于每艘新飞船,都将其放在屏幕底部中央
		self.rect.midbottom = self.screen_rect.midbottom
		
	def blitme(self):
		"""在指定位置绘制飞船"""
		self.screen.blit(self.image,self.rect)

上面的是飞船代码

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:
			#监视键盘和鼠标事件
			for event in pygame.event.get():
				if event.type == pygame.QUIT:
					sys.exit()
			
			#每次循环时都重绘屏幕
			self.screen.fill(self.settings.bg_color)
			self.ship.blitme()
			
			#显示最近绘制的屏幕
			pygame.display.flip()

if __name__ == '__main__':
	#创建游戏实例并运行游戏
	ai = AlienInvasion()
	ai.run_game()

这是主程序代码,setting.py是游戏里面设置的代码,下面的是问题

下面的是文件:

请问问题出在哪里?

  • 写回答

3条回答 默认 最新

  • 快ྂ乐ྂ至ྂ上ྂ 2021-06-27 10:36
    关注

    你飞船图片放哪了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?