2016-12-21 14 views
0

URL表記atlas://でアトラスファイルを使用する方法があります。これは、アトラスからテクスチャを適用するためにファイル名の代わりに使用できるものです。KivyでAtlasオブジェクトを使用するには?

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

私たちは、そのオブジェクトにテクスチャルックアップを実行することができます。しかし、.atlasファイルへのパスで実際のAtlasオブジェクトを作成する方法を示しatlasモジュール、上のドキュメント内の別のセクションがあります。

Button(background_normal = atl['some_texture']) 

しかし、どうやら背景のファイル名の代わりに使用することはできませんAtlasオブジェクトを返しますTextureRegionにルックアップ:私の期待することにより、以下の文が有効であると考えられました。

私が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

関連する問題