2016-07-06 78 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