gpt4 book ai didi

java - 如何使用 libGdx 项目弹跳球

转载 作者:行者123 更新时间:2023-12-01 18:17:24 24 4
gpt4 key购买 nike

我正在尝试使用 libGDX 游戏引擎在 Android 项目中弹跳球。

    ball = new Texture("football.jpg");
batch = new SpriteBatch();
sprite = new Sprite(ball);
render(float delta)
{
batch.begin();
sprite.draw(batch);
batch.end();
stage.draw();
jumpUp(); //here i call the jump function..
}

跳转函数如下所示:

public void jumpUp()
{
sprite.setY(sprite.getY()+2);
dem=sprite.getY();
if(dem==100.0f)
{
jumpDown();

}

}
public void jumpDown()
{
sprite.setY(sprite.getY()-1);
}

球实际上是向上移动的,但它不会再向下移动。我还应该在 render() 方法中调用 jumpDown() 吗?

最佳答案

官方wiki libgdx lifecycle指出游戏逻辑更新也在 render() 函数中完成。所以,是的,您还应该在那里调用 jumpDown() 。不过,我建议您保持简单,只使用一个这样的函数:

private Texture ballTexture;
private Sprite ballSprite;
private SpriteBatch batch;
private dirY = 2;

create(){
ballTexture = new Texture("football.jpg");
ballSprite = new Sprite(ballTexture);
batch = new SpriteBatch();
}

render(float delta){
recalculateBallPos(delta);
batch.begin();
sprite.draw(batch);
batch.end();
stage.draw();
}

private void recalculateBallPos(delta){
float curPos = ballSprite.getY();

if(curPos + dirY > 100 || curPos + dirY < 0){
dirY = dirY * -1 //Invert direction
}

ballSprite.setY(curPos+dirY)
}

这看起来仍然有点不稳定,但我希望这是一个好的开始方式。

关于java - 如何使用 libGdx 项目弹跳球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28828603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com