2013-03-19 6 views
6

チェックボックスイメージのサイズを管理する方法がわかりません。もちろん、テクスチャアトラスに異なるサイズのイメージを作成し、適切なイメージを取ることは可能ですが、私はそうしたくありません。libgdx UIのチェックボックスイメージのサイズを設定します。

は、ここに私のコードです:

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オブジェクトは、チェックボックスの画像をreziseするような方法はありませんが、メソッドのgetImage()がありますが、それはあまりにも動作しないようです。 これは動作していない:私はイメージを描きたいと思ったとき、たとえば、私はそのようにやった:

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

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

しかし、CheckBoxクラスの幅を設定せずにこれだけ(がオーバーライドされると、高さ):

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

質問:どのように私は、チェックボックスの画像の幅と高さを変更できますか?

ありがとうございます。

答えて

7

libgdxウィジェットは、画像を描画するためにドロワブルを使用しています。描画可能な、自動的にそれがであるセルに合わせて拡大縮小されます画像のサイズを変更するために、セルサイズ変更ので:。より良い結果を得るために

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

を、あなたが描画可能なため9つのパッチを使用する必要があります。

+0

本当にありがとう、俳優のための高さを設定する必要があります 'cbSound.height =高さ'は、(実際の領域の高さとして)大きなクリック可能な領域ではないためです。 – Aleksandrs

関連する問題