我对整个LibGDX都很陌生,我正在尝试构建一个自上而下的RPG . 我从TMX文件中加载 Map 并渲染它,现在我正试图让我的家伙用这个简单的代码移动:
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);
}
现在这一切都很好,花花公子,但一旦我开始移动就会出错 . 出于蓝色,完全随机,精灵有时只是抖动回来, Map 一瞬间不合适 . 这非常令人沮丧,我不知道为什么会这样 .
这是我的播放器绘图代码
((BatchTiledMapRenderer) tiledMapRenderer).getBatch().begin();
player.draw(((BatchTiledMapRenderer) tiledMapRenderer).getBatch());
((BatchTiledMapRenderer) tiledMapRenderer).getBatch().end();
请为了上帝的爱,请帮助我 .
1 回答
你是否在瓷砖组的瓷砖之间使用了一种透明色和填充物?这似乎有时不起作用 . 你可以不用试试 .