2016-07-06 79 views
0

我有一個精靈在我正在建造的遊戲中充當牆壁。我想讓磚塊紋理重複自己而不是拉伸以適應屏幕的高度。我試過了:瓷磚紋理如果雪碧的尺寸大於紋理

Texture lSideTexture = new Texture(Gdx.files.internal("wall.png")); 
    lSideTexture.setWrap(Texture.TextureWrap.Repeat, Texture.TextureWrap.Repeat); 

    lSideSprite = new Sprite(lSideTexture); 
    lSideSprite.setPosition(-50, -100 * (height/width)/2); 
    lSideSprite.setSize(5,100 * (height/width)); 

但我仍然得到了一個已經拉伸到適合尺寸而不是重複的紋理。

任何想法?

回答

0

您還必須將Sprite的紋理區域更改爲大於紋理。所以,如果你繪製的精靈比正常大5倍,你可以這樣做:

lsideSprite.setRegion(0, 0, 5f, 5f); 

一個「疑難雜症」,這裏是這種方法被重載採取一切整數或浮點數所有。如果您使用整數,那麼您可以按像素尺寸指定尺寸。如果你使用浮動,那麼你指定了多少次你想重複。

+0

我怎麼知道我畫的精靈多了幾倍?謝謝 – foobar5512

+0

不知道我明白這個問題。你是設計這款遊戲的人......你可以根據自己的喜好繪製它,並將區域設置爲你想要的任何尺寸。 – Tenfour04