我对整个LibGDX都很陌生,我试图建立一个自上而下的RPG。我从TMX文件中加载地图并渲染它,现在我试图让我的家伙只需要使用这个简单的代码:
public boolean keyDown(int keycode) {
switch(keycode){
case Keys.DPAD_UP:
velocity.y = speed;
break;
case Keys.DPAD_DOWN:
velocity.y = -speed;
break;
case Keys.DPAD_LEFT:
velocity.x = -speed;
break;
case Keys.DPAD_RIGHT:
velocity.x = speed;
break;
}
return true;
}
设定他在这里适用的速度。
public void update(float delta){
if(velocity.x > speed){
velocity.x = speed;
}else if (velocity.x > speed){
velocity.x = speed;
}
if(velocity.y > speed){
velocity.y = speed;
}else if (velocity.y > speed){
velocity.y = speed;
}
setX(getX() + velocity.x * delta);
setY(getY() + velocity.y * delta);
}
现在这一切都很好,花花公子,但是一旦我开始移动它就会出错。 出于蓝色,完全随机,精灵有时只是抖动回来,地图一瞬间不合适。这非常令人沮丧,我不知道为什么会这样。
这是我的播放器绘制代码
((BatchTiledMapRenderer) tiledMapRenderer).getBatch().begin();
player.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
((BatchTiledMapRenderer) tiledMapRenderer).getBatch().end();
请为了上帝之爱,帮助我。
答案 0 :(得分:0)
您是否在瓷砖组中的瓷砖之间使用了一种透明色和填充?这似乎有时不起作用。你可以不用试试。