2013-03-26 57 views
0

我有一個libgdx遊戲我正在工作,並且在此遊戲中,當您點擊「幫助」屏幕時,我的Help_Manager類使用我的「房間」舞臺對象繪製標籤。房間的相機寬27,高18。舞臺使用相同的相機,並將它的視口設置爲相同的WIDTH和HEIGHT。 enter image description here標籤的階段覆蓋 - 標籤是巨大的,並且設置邊界對於比例是無用的

如果我是一個文本按鈕添加到舞臺與邊界(4,4,1,1),按鈕繪製正確,但是當我用添加向那標籤(0,0,16,4 )單獨的標籤「S」佔據了屏幕的一半(如上所示)(應該說「從船上向手指滑動」)。無論我將界限的寬度和高度設置爲何,標籤的大小仍然相同。更改比例也沒有效果。更改字體規模(標籤,而不是字體)確實有效果,但由於某種原因文本全亂了: Messed up text

繼承人位和代碼peices: Room.java:

Stage stage = new Stage(); 
camera = new OrthographicCamera(WIDTH,HEIGHT); 
camera.position.set(WIDTH/2,HEIGHT/2,0); 
camera.update(); 
stage.setCamera(camera); 
stage.setViewport(WIDTH, HEIGHT, false); 
public void resize(int width, int height){ 
    ppux = width/WIDTH; 
    ppuy = height/HEIGHT; 
    stage.setViewport(Room.WIDTH,Room.HEIGHT,false); 
} 
public void render(float delta){ 
    stage.act(delta); 
    stage.draw(); 
} 

Help_Manager.java

BitmapFont font = new BitmapFont(); 
LabelStyle style = new LabelStyle(); 
Label text; 
style.font = font; 
text = new Label(instructions[0],style); 
text.setText(instructions[stage]); 
text.setBounds(0,0,16,4); 
//text.setFontScale(0.1f); 
room.stage.addActor(text); 

那麼,如何讓我的標籤進行合作?預先感謝任何幫助!

回答

2

嗯,我發現字體默認使用位置整數。當使用小型相機尺寸和舞臺視口時,意味着這些字母需要更加精確地放置,所以我必須更改font.setUseIntegerPosistions(false);我還發現,當你爲一個Label設置綁定時,它只是定義了可以使用的空間,但它仍然被填充相同的字體和文本的大小。你把相同的東西放在更大/更小的盒子裏。 (這解釋了爲什麼隨着您增加標籤的高度,提高上限,文本從頂部開始,文本向上移動)。實際上改變字體的大小youse text.setFontScale();