所以我正在使用Libgdx创建一个自上而下的2D生存游戏。我的问题是我可以生成地形从(0,0)开始然后正常工作,但我希望我的播放器从(0,0)开始并且地形在他周围生成。当他走路时,我希望地形要么在手前生成,要么在他在世界各地走动时不断地动态生成。我该如何实现这样的东西?我有一个草纹理,我希望这个纹理(至少目前为止)是唯一生成的纹理。
每个图块都存储为一个对象。 (用于序列化)下面是我生成的每个tile的代码,并放入稍后要渲染的ArrayList中。
public abstract class Tile implements Serializable{
private static final long serialVersionUID = 0;
int ID;
float x,y,w,h;
Texture texture;
boolean isVisible, isCollidable;
Rectangle bounds;
public Tile(float x, float y, float w, float h){
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.ID = 0;
isVisible = false;
isCollidable = false;
bounds = new Rectangle(x, y, w, h);
if(this instanceof Grass){
texture = new Texture(Gdx.files.internal("terrain/grass.png"));
}
}