2017-11-12 6 views
2

glob 모듈에 150 개의 .tif 이미지를로드했으며 현재로드 할 수 없습니다. 나는 프로그래밍에 익숙하지 않으므로 내가 놓친 바보 같은 실수라고 생각한다. 그러나 나는 그것을 알아낼 수 없다.파이 게임 : 파일을 열 수 없습니다. 같은 디렉터리

import pygame, glob 

types= ('*.tif') 

artfile_names= [] 

for files in types: 
    artfile_names.extend(glob.glob(files)) 

print(artfile_names) 

for artworks in artfile_names: 
    pygame.image.load(str(artfile_names)) 

어떤 도움을 주셔서 감사합니다

코드입니다!


답변

1

실수는 types 변수가 문자열 단지 (괄호에 포장은 적용되지 않습니다)라는 것이다, 그래서 당신은 문자열의 문자를 반복하고 각 문자에 대한 artfile_names.extend(glob.glob(files))를 호출합니다.

쉼표는 (빈 튜플 제외) 튜플을 만드는 :

types = '*.tif', # This gives you a tuple with the length 1. 

types = '*.tif', '*.png' # This is a tuple with two elements. 
코드의 두 번째 부분에서

, 당신의 이미지를로드하려면 artfile_names 반복 pygame.image.load(artwork)를 호출해야 하드 디스크 및 추가 결과 목록에 surface :

images = [] 

for artwork in artfile_names: 
    images.append(pygame.image.load(artwork).convert()) 

를 호출 .convert() 방법 (또는blit 성능을 향상시키기 위해 투명도가있는 이미지는).

+0

그 코드는 이미지 만로드하지만 아무 것도 표시하지 않습니다. 파이 게임 튜토리얼을 읽거나 보십니까? 이미지를 blit하기 위해 파이 게임 디스플레이 표면의'.blit' 메소드를 사용하는 while 루프가 필요합니다. – skrx

+0

아, 알겠습니다. 설명 주셔서 감사합니다 :) –

+0

괜찮습니다. [프로그램 아케이드 게임] (http://programarcadegames.com/index.php?chapter=introduction_to_graphics&lang=en#section_5)은 튜토리얼이 필요하면 파이썬과 파이 게임에 관한 좋은 책입니다. – skrx