找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 404|回复: 0

[求助] 为什么我的pygame load出来的.bmp图片是一团黑

0

主题

1

帖子

1

积分

贫民

积分
1
LuizFabio 发表于 2017-6-18 13:48:23 | 显示全部楼层 |阅读模式
本帖最后由 LuizFabio 于 2017-6-18 13:50 编辑

照着书撸的代码,结果.bmp图片是一团黑,其他格式图片根本不显示。请问这是为啥啊?附上源码:
import sys

import pygame

from settings import Settings
from ship import Ship

def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    # 创建一艘飞船
    ship = Ship(screen)

    # 设置背景色
    bg_color = (230,230,230)

    # 开始游戏的主循环
    while True:

        #监视键盘和鼠标时间
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

        # 每次循环时都重绘制屏幕
        screen.fill(ai_settings.bg_color)
        ship.blitme()

        # 让最近绘制的屏幕可见
        pygame.display.flip()

run_game()


import pygame

class Ship():

    def __init__(self,screen):
        "初始化飞船并设置其初始位置"
        self.screen = screen

        # 加载飞船图像并获取其外接矩形
        self.image = pygame.image.load('/Users/liujianfeng/Downloads/pcc-master-1/chapter_12/figures/crash_course12-01.png')
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()

        #将每艘新飞船放在屏幕底部中央
        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom

    def blitme(self):
        "在指定位置绘制飞船"
        self.screen.blit(self.image,self.rect)





class Settings():
    "存储《外星人入侵》的所有设置的类"

    def __init__(self):
        "初始化游戏的设置"
        # 屏幕设置
        self.screen_width = 800
        self.screen_height = 600
        self.bg_color = (230,230,230)



.png图片显示不出来

.png图片显示不出来
C9146B62-582B-4863-AE19-31BE2C2E8A3A.png
回复

使用道具 举报

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

本版积分规则

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