【发布时间】:2016-12-08 06:44:15
【问题描述】:
这可能是一个非常基本的问题,但作为一个新手,我对此感到困惑。
在我的 libGDX 项目中,我想移动播放器。 最初玩家在左侧。第一次点击时,玩家应该移动到对面并占据那里的位置。对于下一次点击,它应该向左移动。并且会像这样继续。
我实现了这个逻辑。现在的问题是我的玩家根本没有移动,只是在点击时占据了相反的位置。我使用了一个速度值,但它对代码没有任何影响。
我想让它沿途移动,而不仅仅是占据位置。 请帮忙。
public float ninjaX = Constants.W_WIDTH;
public float ninjaY =Constants.WORLD_HEIGHT/2+Constants.WORLD_HEIGHT/4;
public float ninjaVelocity =100f;
public boolean isLeftBool=true;
public void ninjaMove() {
if (isLeftBool) {
ninjaX = ninjaX+ ninjaVelocity;
setPosition(Constants.WORLD_WIDTH - (Constants.W_WIDTH+Constants.PLAYER_HEIGHT/2), ninjaY);
isLeftBool = false;
}
else
{
ninjaX=ninjaX-ninjaVelocity;
setPosition(ninjaX,ninjaY);
isLeftBool = true;
}
}
在渲染中更新播放器:
if (MyInputProcessor.isTap) {
MyInputProcessor.isTap = false;
ninja.ninjaMove();
}
【问题讨论】:
标签: libgdx