web-dev-qa-db-ja.com

python / pygameに画像を表示する方法

私はpygameを使って基本的なゲームを作ることを学ぼうとしています。画像を.png形式でインポートして表示したい。これまでのところ、私の試みは次のとおりです。

import pygame
from pygame.locals import*
pygame.image.load('clouds.png')

white = (255, 64, 64)
w = 640
h = 480
screen = pygame.display.set_mode((w, h))
screen.fill((white))
running = 1

while running:
    screen.fill((white))

    pygame.display.flip()

画像(clouds.png)はファイルと同じフォルダーにあります。これを実行しようとすると、エラーが発生します。

Traceback (most recent call last):
  File "C:\Users\Enrique\Dropbox\gamez.py", line 3, in <module>
    pygame.image.load('clouds.png')
error: Couldn't open clouds.png
7
enrique2334

どうぞ。画像を0,0にブリットします。あなたの他の問題はあなたのpyimageがpngサポートで構築されていないようだということです

import pygame
from pygame.locals import*
img = pygame.image.load('clouds.bmp')

white = (255, 64, 64)
w = 640
h = 480
screen = pygame.display.set_mode((w, h))
screen.fill((white))
running = 1

while running:
    screen.fill((white))
    screen.blit(img,(0,0))
    pygame.display.flip()
7
rsaxvc

これが私のゲームで使用する画像処理ブロックです:

import os, sys
...
-snip-
...
def load_image(name, colorkey=None):
    fullname = os.path.join('images', name)
    try:
        image = pygame.image.load(fullname)
    except pygame.error, message:
        print 'Cannot load image:', name
        raise SystemExit, message
    image = image.convert()
    if colorkey is not None:
        if colorkey is -1:
            colorkey = image.get_at((0,0))
        image.set_colorkey(colorkey, RLEACCEL)
    return image, image.get_rect()

これはどのゲームでもコピーアンドペーストでき、機能します。 ossysをゲームにインポートする必要があります。そうしないと、機能しません。

2
Oventoaster