java - 如何创建一个计时器?

标签 java libgdx

我想做一个飞扬的小鸟游戏,我想知道如何制作一个计时器,当玩家按下屏幕时启动,鸟(或者在我的例子中是鱿鱼)将开始上升,当计时器结束时它将再次开始下降。

这是代码

batch.begin();
        //ignore this part
        batch.draw(Assets.sprite_back,BackX ,0);
        batch.draw(Assets.sprite_back2,BackX2 ,0);
        //this is the squid
        batch.draw(Assets.sprite_squiddy,10 ,squiddyY);
batch.end();

}

public void generalUpdate(){
    //ignore
    BackX -= 1;
    BackX2 -= 1;
    //look at this
    squiddyY -=4;
    //continue ignoring
    if(BackX<=-480){
        BackX = 480;
    }
    if(BackX2<=-480){
        BackX2 = 480;
    }
    //this is the part we need
    if(Gdx.input.justTouched()){
        squiddyY += 100;

    }
}

所以实际上现在如果你按下它就会自动上升,我希望他能顺利到达那里

我希望我的解释足够好。

哦,是的,如果有更好的方法,请告诉我

最佳答案

这可能不是您想要的答案,但它可能是您需要的

如果你正在制作《Flappy Bird》,我会不鼓励使用计时器。通过使用重力,即添加速度和加速度,可以更简单地完成此操作。

velocityY = 0;
accelerationY = -100;
public void generalUpdate(){
//ignore
BackX -= 1;
BackX2 -= 1;
//continue ignoring
if(BackX<=-480){
    BackX = 480;
}
if(BackX2<=-480){
    BackX2 = 480;
}
//this is the part we need

velocityY += accelerationY;
squiddyY  += velocityY;
if(Gdx.input.justTouched()){
    velocityY += 100;

}

这将为您提供所需的确切“下落”和“跳跃”效果。

关于java - 如何创建一个计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28774672/

相关文章:

java.util.Stack.peek(来源不明)错误

Java LibGdx 2d 地形生成器

java - 我可以从设备中选择图像,但它不会上传,因此,我无法创建用户

java - JPA OneToMany 双向无连接表

java - 使用共享首选项存储未提交的数据

java - For-loop 在迭代 vector 数组时仅给出一个值 (libGDX)

java - LibGDX 在实现一些 float 后在 Android 上崩溃

java - libGDX - Tiled 渲染问题

debugging - libGDX 中的调试绘图

java - 如何创建类似 Android Google Plus App 的按钮