2016-12-21 6 views
0

나는 URL 표기 atlas://을 통해 아틀라스 파일을 사용하는 방법을 알고 있습니다. 그것이 파일 이름 대신에 우리가 아틀라스에서 텍스처를 적용 할 수있는 방법입니다.Kivy에서 Atlas 개체를 사용하는 방법?

atl = Atlas('path/to/atlas') 

우리는 그 객체에 텍스처 조회를 수행 할 수 있습니다하지만 .atlas 파일의 경로와 실제 Atlas 객체를 생성하는 방법을 보여줍니다 atlas 모듈 문서의 다른 섹션이있다.

Button(background_normal = atl['some_texture']) 

을하지만, 분명히 배경에 대한 파일 이름 대신 사용할 수 없습니다 TextureRegion를 반환 Atlas 객체에 조회 : 내 예상으로 다음 문은 유효한 것으로 간주되었다.

atlas:// 표기법을 사용하지 않는 이유는 내 응용 프로그램에 여러 가지 테마가 있기를 바랍니다. 각 텍스처 (.format 또는 문자열 연결)의 "URL"을 구성하는 것은 상당히 나쁜 해결책 인 것 같습니다. 따라서 Atlas 개체를 사용하여 내 목표를 달성 할 수 있는지 궁금합니다.

현재 해결 방법 : 자동으로 내 질문에 대답하지 않는 주어진 텍스처 이름

class TextureResolver: 
    def __init__(self, atlas_path): 
     # atlas_path should be given without '.atlas' 
     self.atlas_path = 'atlas://' + atlas_path + '/' 

    def __getitem__(self, key): 
     return self.atlas_path + key 

답변

-1
import os 
path = os.path.dirname(__file__) 
atlas_path = os.path.join(path, 'atlas/') 
Atlas('{}key.atlas'.format(atlas_path)) 
+2

의 URL을 구성 것 같은 개체를 만듭니다. 나는'Atlas' 객체를 만드는 방법을 알고 있고, 나는 그것을 사용하는 방법에 관심이있다. 또한 Stack Overflow에 게시 할 때 항상 코드에 설명을 추가하는 것을 고려하십시오. – Leva7

관련 문제