静静表现 发表于 2021-2-8 11:03:31

飞机大战这块为什么显示不了我方飞机呢

import pygame

class Myplane(pygame.sprite.Sprite):
    def __init__(self,bg_side):
      pygame.sprite.Sprite.__init__(self)
      self.image = pygame.image.load("images/me1.png").convert_alpha()
      self.rect = self.image.get_rect()
      self.width,self.height = bg_side,bg_side
      #初始化位于下方的中间位置
      #下方预留60像素左右的位置作为”状态栏“
      self.rect.left,self.rect.top = (self.width - self.rect.width) // 2,self.height - self.rect.height - 60
      self.spped = 10
    def moveUp(self):
      if self.rect.top > 0:
            self.rect.top -= self.spped
      else:
            self.rect.top = 0
    def moveDown(self):
      if self.rect.bottom < self.height - 60:
            self.rect.top += self.spped
      else:
            self.rect.bottom = self.height - 60
    def moveLeft(self):
      if self.rect.left > 0:
            self.rect.left -= self.spped
      else:
            self.rect.left = 0
    def moveRight(self):
      if self.rect.right < self.width:
            self.rect.left += self.spped
      else:
            self.rect.right = self.width

qiuyouzhi 发表于 2021-2-8 11:04:18

你在主模块里面绘制飞机了吗?

静静表现 发表于 2021-2-8 11:05:36

import pygame
import sys
import traceback
import myplane
from pygame.locals import *
from random import *

pygame.init()
pygame.mixer.init()

bg_size = width, height = 480, 700
screen = pygame.display.set_mode(bg_size)
pygame.display.set_caption("飞机大战")

background = pygame.image.load("images/background.png").convert()

# 载入游戏音乐
pygame.mixer.music.load("sound/game_music.mp3")
pygame.mixer.music.set_volume(0.2)
bullet_sound = pygame.mixer.Sound("sound/bullet.wav")
bullet_sound.set_volume(0.2)
bomb_sound = pygame.mixer.Sound("sound/use_bomb.wav")
bomb_sound.set_volume(0.2)
supply_sound = pygame.mixer.Sound("sound/supply.wav")
supply_sound.set_volume(0.2)
get_bomb_sound = pygame.mixer.Sound("sound/get_bomb.wav")
get_bomb_sound.set_volume(0.2)
get_bullet_sound = pygame.mixer.Sound("sound/get_bullet.wav")
get_bullet_sound.set_volume(0.2)
upgrade_sound = pygame.mixer.Sound("sound/upgrade.wav")
upgrade_sound.set_volume(0.2)
enemy3_fly_sound = pygame.mixer.Sound("sound/enemy3_flying.wav")
enemy3_fly_sound.set_volume(0.2)
enemy1_down_sound = pygame.mixer.Sound("sound/enemy1_down.wav")
enemy1_down_sound.set_volume(0.1)
enemy2_down_sound = pygame.mixer.Sound("sound/enemy2_down.wav")
enemy2_down_sound.set_volume(0.2)
enemy3_down_sound = pygame.mixer.Sound("sound/enemy3_down.wav")
enemy3_down_sound.set_volume(0.5)
me_down_sound = pygame.mixer.Sound("sound/me_down.wav")
me_down_sound.set_volume(0.2)


def main():
    pygame.mixer.music.play(-1)

    # 生成我方飞机
    me = myplane.Myplane(bg_size)

    clock = pygame.time.Clock()

    running = True

    while running:
      for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

      screen.blit(background, (0, 0))

      pygame.display.flip()
      clock.tick(60)

      # 检测用户的键盘操作
      key_pressed = pygame.key.get_pressed()
      # 移动我方飞机
      if key_pressed or key_pressed:
            me.moveUp()
      if key_pressed or key_pressed:
            me.moveDown()
      if key_pressed or key_pressed:
            me.moveLeft()
      if key_pressed or key_pressed:
            me.moveRight()
            screen.blit(background, (0, 0))

      # 绘制我方飞机
      screen.blit(me.image, me.rect)


if __name__ == "__main__":
    try:
      main()
    except SystemExit:
      pass
    except:
      traceback.print_exc()
      pygame.quit()
      input()

静静表现 发表于 2021-2-8 11:25:39

qiuyouzhi 发表于 2021-2-8 11:04
你在主模块里面绘制飞机了吗?

# 绘制我方飞机
screen.blit(me.image, me.rect)
绘制了的

静静表现 发表于 2021-2-8 11:42:36

libpng warning: iCCP: known incorrect sRGB profile

Daniel_Zhang 发表于 2021-2-8 12:00:25

你是不是先画飞机再画背景了,飞机被背景覆盖了

好好核对一下,对着小甲鱼的代码,复制粘贴改成自己的变量,运行一下,挨个复制粘贴代码段,哪一块儿弄好了就是哪一块有问题,然后逐条分析{:10_245:}

静静表现 发表于 2021-2-8 21:30:57

Daniel_Zhang 发表于 2021-2-8 12:00
你是不是先画飞机再画背景了,飞机被背景覆盖了

好好核对一下,对着小甲鱼的代码,复制粘贴改成自己的变 ...

卧槽,不会吧,多谢提醒
{:5_109:}

Daniel_Zhang 发表于 2021-2-8 21:32:24

静静表现 发表于 2021-2-8 21:30
卧槽,不会吧,多谢提醒


一切皆有可能,之前有个朋友就是一个缩进的问题,小球进洞的程序就 bug 了{:10_248:}

静静表现 发表于 2021-2-9 14:53:03

Daniel_Zhang 发表于 2021-2-8 21:32
一切皆有可能,之前有个朋友就是一个缩进的问题,小球进洞的程序就 bug 了

缩进这些我检查了一遍又一遍没问题

{:9_234:}

Daniel_Zhang 发表于 2021-2-9 14:59:48

静静表现 发表于 2021-2-9 14:53
缩进这些我检查了一遍又一遍没问题

emmmmmmm,小甲鱼的源码你按照function挨个复制到你自己的文件里

然后改成自己的变量名

复制完一次,跑一次,直到bug被修复

然后核对自己的问题{:10_262:}

yayc_zcyd 发表于 2021-2-9 19:31:21

程序它报错了吗?在哪报的错?

静静表现 发表于 2021-2-10 17:18:31

Daniel_Zhang 发表于 2021-2-9 14:59
emmmmmmm,小甲鱼的源码你按照function挨个复制到你自己的文件里

然后改成自己的变量名


我找到问题了。谢谢你

Daniel_Zhang 发表于 2021-2-10 17:19:18

静静表现 发表于 2021-2-10 17:18
我找到问题了。谢谢你

okok{:10_323:}

静静表现 发表于 2021-2-10 17:19:44

yayc_zcyd 发表于 2021-2-9 19:31
程序它报错了吗?在哪报的错?

libpng warning: iCCP: known incorrect sRGB profile没有报错,只是有个警告

Daniel_Zhang 发表于 2021-2-10 17:20:44

静静表现 发表于 2021-2-10 17:19
libpng warning: iCCP: known incorrect sRGB profile没有报错,只是有个警告

这个好像我也遇到过,但是没鸟他{:10_250:}

warning一般没啥大事

静静表现 发表于 2021-2-10 22:17:55

Daniel_Zhang 发表于 2021-2-10 17:20
这个好像我也遇到过,但是没鸟他

warning一般没啥大事

{:5_92:}
页: [1]
查看完整版本: 飞机大战这块为什么显示不了我方飞机呢