2013-03-19 11 views
6

Onay kutusu görüntülerinin boyutunu nasıl yöneteceğimi anlayamıyorum. Tabii ki, Doku Atlas'ımda farklı boyutta görüntü oluşturmak ve uygun olanı yapmak mümkündür, ancak bunu yapmak istemiyorum.Onay kutusu görüntüsü için boyutu ayarla libgdx UI

İşte benim kodudur:

AtlasRegion checkboxOn = AssetsHelper.textures.findRegion("checked"); 
AtlasRegion checkboxOff = AssetsHelper.textures.findRegion("unchecked"); 
CheckBoxStyle checkBoxStyle = new CheckBoxStyle(); 
checkBoxStyle.font = AssetsHelper.font66yellow; 
checkBoxStyle.checkboxOff = checkboxOff; 
checkBoxStyle.checkboxOn = checkboxOn; 
CheckBox cbSound = new CheckBox(" Sound", checkBoxStyle); 

cbSound nesne onay kutusunu imajını rezise bu tür yöntemleri yoktur, ancak yöntem getImage() vardır, ama çok çalışmıyor gibi görünüyor. Bu işe yaramıyor: Bilginize

cbSound.getImage().width = 120; 
cbSound.getImage().height = 120; 

: Ben resim çizmek istediğinde örneğin, ben böyle yaptım: orada overrided edilir

batch.draw(textureRegion, 0, 0, widthIwant, heightIwant); 

Ama CheckBox sınıfında yalnızca bu (genişlik ayarlamadan ve yükseklik):

public void draw (SpriteBatch batch, float parentAlpha) { 
    image.setRegion(isChecked ? style.checkboxOn : style.checkboxOff); 
    super.draw(batch, parentAlpha); 
} 

Soru: nasıl onay kutusu resmin genişliği ve yüksekliği değiştirebilirim?

Şimdiden teşekkürler.

cevap

7

Libgdx widget'ları, çizim yapmak için çizim örnekleri kullanır. Bir çekilebilir otomatik olduğu hücreyi sığacak şekilde ölçekli alır, görüntü boyutunu değiştirmek hücre boyutunu değiştirmek amacıyla Yani:.

cbSound.getCells().get(0).size(widht, height); 

Daha iyi sonuçlar için, çekilebilir için dokuz yama kullanmalıdır.

+0

Çok teşekkürler, ama aynı zamanda büyük bir tıklanabilir bölge (gerçek bölge yüksekliği olarak) olacak, çünkü aktör 'cbSound.height = height' için yüksekliği ayarlamanız gerekir. – Aleksandrs