模块引入错误

模块引入错误

import pygame
import constants
'''
                           飞机的种类
我方飞机   小型敌方飞机      中型敌方飞机      大型敌方飞机
'''


class Plane(pygame.sprite.Sprite):
   '''
   飞机的基础类
   '''
   # 飞机的图片
   plane_images = []
   # 飞机爆炸的图片
   distory_images = []
   # 飞机坠毁的音乐
   down_sound_src = None
   # 飞机的状态 True 活的  False 死的
   active = True
   # 该飞机发射的子弹精灵组
   bullets = pygame.sprite.Group()

   def __init__(self, screen, speed=None):
       super().__init__()
       # 加载静态资源
       self.screen = screen
       self.img_list = []
       self.distory_img_list = []
       self.down_sound = None
       self.load_src()
       # 飞行的速度
       self.speed = speed or 10
       # 获取飞机的位置
       self.rect = self.img_list[0].get_rect()

   def load_src(self):
       '''加载静态资源'''
       # 飞机图像
       for img in self.plane_images:
           self.img_list.append(pygame.image.load(img))
       # 飞机坠毁的图片
       for img in self.destory_images:
           self.destory_img_list.append(pygame.image.load(img))
       # 坠毁的音乐
       if self.down_sound_src:
           self.down_sound = pygame.mixer.Sound(self.down_sound_src)

   @property
   def image(self):
       return self.img_list[0]
   def blit_me(self):
       self.screen.blit(self.image,self.rect)
   def move_up(self):
       '''飞机向上移动'''
       self.rect.top -= self.speed
   def move_down(self):
       '''飞机向下移动'''
       self.rect.top += self.speed
   def move_left(self):
       '''飞机向左移动'''
       self.rect.let -= self.speed
   def move_right(self):
       '''飞机向右移动'''
       self.rect.let += self.speed
   def broken_down(self):
       '''飞机坠毁效果'''
       #1.播放坠毁音乐
       if self.down_sound:
           self.down_sound.play()
       #2.播放坠毁动画
       for img in self.destroy_img_list():
           self.screen.blit(img,self.rect)
       #3. 坠毁后。。
       self.active = False

class OurPlane(Plane):
   '''我方的飞机'''
   # 飞机的图片
   plane_images = [constants.OUR_PLANE_IMG_1,constants.OUR_PLANE_IMG_2]
   # 飞机爆炸的图片
   distory_images = constants.OUR_destroy_IMG_list
   # 飞机坠毁的音乐
   down_sound_src = None

请老师看一下,显示NO moudle named constants

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好。先检查一下文件constants.py和导入模块的名称constants是否一致,如果不一致改过来即可。如果是相同的,可将项目结构截图到问答区,方便老师定位问题原因,帮助同学解决问题。

祝学习愉快~ 

提问者 慕娘4151665 2020-06-16 16:04:48

就像这种情况,程序能够狗正常进行,但是会出现红色波浪线显示错误,导入模块之后引用模块的方法也没有提示,就很容易出错,请问一下有什么好的解决办法
http://img1.sycdn.imooc.com//climg/5ee87cdd09b9b41e19201026.jpg

  • 同学,你好。有红色波浪线说明没有导入成功,可能是目录结构的问题,将飞机大战项目单独用pycharm打开,重新尝试试一下。 祝学习愉快~
    2020-06-16 19:00:37
  • 提问者 慕娘4151665 回复 好帮手慕笑蓉 #2
    解决了谢谢
    2020-06-17 08:31:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师