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 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错