2017-05-25 3 views
0

DrawableImageから1つの白いピクセル(1×1)Textureに変換しても問題ありませんが、色は変更できません。どうして?libGDX:Drawable from Image

// can't change color!! ==> still white (default) 
getDrawable(pixel, new Color(0, 1f, 0, 0.5f)); 

誰もが私を:)アドバイスできます:私はそれを呼び出す

public static Drawable getDrawable(Texture texture, Color color) { 
    Image image = new Image(texture); 
    image.setColor(color); 
    return image.getDrawable(); 
} 

+0

2番目のコードブロックで、そのメソッドをどのように呼び出すのですか?あなたの最初の例では、描画可能ではなくイメージを着色していたので、それは白のままです。 – Tenfour04

答えて

1

独自の色をサポートするDrawable型は、SpriteDrawableとNinePatchDrawableです。これは、スプライトとNinePatchesの両方がカラーパラメータを持つためです。既存のTextureRegionDrawableまたはNinePatchDrawableをお持ちの場合は

public static Drawable getTintedDrawable(Texture texture, Color color) { 
    Sprite sprite = new Sprite(texture); 
    sprite.setColor(color); 
    return new SpriteDrawable(sprite); 
} 

、あなたが希望の色を持つ新しいDrawableのインスタンスを生成するためにtint()を呼び出すことができます。

+0

私が探している 'SpriteDrawable'クラスです。ありがとう:) – Crowni