鱼C论坛

 找回密码
 立即注册
查看: 1827|回复: 15

[已解决]飞机大战这块为什么显示不了我方飞机呢

[复制链接]
发表于 2021-2-8 11:03:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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[0],bg_side[1]
        #初始化位于下方的中间位置
        #下方预留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
最佳答案
2021-2-9 14:59:48
静静表现 发表于 2021-2-9 14:53
缩进这些我检查了一遍又一遍没问题

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

然后改成自己的变量名

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

然后核对自己的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 11:04:18 | 显示全部楼层
你在主模块里面绘制飞机了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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[K_w] or key_pressed[K_UP]:
            me.moveUp()
        if key_pressed[K_s] or key_pressed[K_DOWN]:
            me.moveDown()
        if key_pressed[K_a] or key_pressed[K_LEFT]:
            me.moveLeft()
        if key_pressed[K_d] or key_pressed[K_RIGHT]:
            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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-8 11:25:39 | 显示全部楼层
qiuyouzhi 发表于 2021-2-8 11:04
你在主模块里面绘制飞机了吗?

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-8 11:42:36 | 显示全部楼层
libpng warning: iCCP: known incorrect sRGB profile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-8 12:00:25 | 显示全部楼层
你是不是先画飞机再画背景了,飞机被背景覆盖了

好好核对一下,对着小甲鱼的代码,复制粘贴改成自己的变量,运行一下,挨个复制粘贴代码段,哪一块儿弄好了就是哪一块有问题,然后逐条分析
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-8 21:30:57 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-8 12:00
你是不是先画飞机再画背景了,飞机被背景覆盖了

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

卧槽,不会吧,多谢提醒
[code][/code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-8 21:32:24 | 显示全部楼层
静静表现 发表于 2021-2-8 21:30
卧槽,不会吧,多谢提醒
[code][/code]

一切皆有可能,之前有个朋友就是一个缩进的问题,小球进洞的程序就 bug 了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-9 14:53:03 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-8 21:32
一切皆有可能,之前有个朋友就是一个缩进的问题,小球进洞的程序就 bug 了

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 14:59:48 | 显示全部楼层    本楼为最佳答案   
静静表现 发表于 2021-2-9 14:53
缩进这些我检查了一遍又一遍没问题

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

然后改成自己的变量名

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

然后核对自己的问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-9 19:31:21 | 显示全部楼层
程序它报错了吗?在哪报的错?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 17:18:31 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-9 14:59
emmmmmmm,小甲鱼的源码你按照function挨个复制到你自己的文件里

然后改成自己的变量名

我找到问题了。谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-10 17:19:18 | 显示全部楼层
静静表现 发表于 2021-2-10 17:18
我找到问题了。谢谢你

okok
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 17:19:44 | 显示全部楼层
yayc_zcyd 发表于 2021-2-9 19:31
程序它报错了吗?在哪报的错?

libpng warning: iCCP: known incorrect sRGB profile没有报错,只是有个警告
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-10 17:20:44 | 显示全部楼层
静静表现 发表于 2021-2-10 17:19
libpng warning: iCCP: known incorrect sRGB profile没有报错,只是有个警告


这个好像我也遇到过,但是没鸟他

warning一般没啥大事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-10 22:17:55 | 显示全部楼层
Daniel_Zhang 发表于 2021-2-10 17:20
这个好像我也遇到过,但是没鸟他

warning一般没啥大事

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 14:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表