我是一名新手,正在学习libdgx开发和游戏开发。我正在阅读Andreas Oehlke的《Learning Libgdx Game Development》这本书,并尝试并行开发自己的游戏。
当我尝试添加背景时,遇到了问题。在书中,他使用颜色,所以很简单。但我想从纹理图集中添加一幅图像。该图像太小以至于无法覆盖整个屏幕,因此我想要重复它。我不能使用regBackground.setWrap(TextureWrap.Repeat,TextureWrap.Repeat),因为regBackground不是一个纹理。我应该如何正确解决我的问题?
在我的资产类中,我有以下代码来查找纹理图集中的区域:
public class Background extends AbstractGameObject {
private TextureRegion regBackground;
public Background () {
init();
}
private void init () {
dimension.set(1f, 1f);
regBackground = Assets.instance.levelDecoration.background;
}
public void render (SpriteBatch batch) {
TextureRegion reg = null;
reg = regBackground;
batch.draw(reg.getTexture(),
position.x, position.y,
origin.x, origin.y,
dimension.x, dimension.y,
scale.x, scale.y,
rotation,
reg.getRegionX(), reg.getRegionY(),
reg.getRegionWidth(), reg.getRegionHeight(),
false, false);
}
}
在我的资产类中,我有以下代码来查找纹理图集中的区域:
public class AssetLevelDecoration {
public final AtlasRegion background;
public AssetLevelDecoration (TextureAtlas atlas) {
background = atlas.findRegion("background");
}
}