如何让跳跃顺畅?

时间:2015-10-11 09:45:14

标签: android

我正在尝试制作一个平台游戏,但我无法让跳跃顺利进行。使用此代码:

public void tick(){
    if(jumping){
        y -= 8;
        jumping = false;
    }else{

        for(Platform p : game.platforms){
            if(Rect.intersects(getBounds(), p.getBounds()))
                coll = true;            
        }
        if(!coll){
            y += 4;
        }
        coll = false;

    }

}

是突然的运动。有了这个:

public void tick(){
    if(jumping){
        y -= 8;

    }else{

        for(Platform p : game.platforms){
            if(Rect.intersects(getBounds(), p.getBounds()))
                coll = true;            
        }
        if(!coll){
            y += 4;
        }else
            jumping = false;
        coll = false;

    }

}

它没有降下来。那么,我该如何让跳跃更顺畅呢?

1 个答案:

答案 0 :(得分:0)

你真的想要使用某种基于物理学的方法。至少,除了位置之外,还应该对速度进行建模。

float Velocity=0;

if (isJumping) {
    velocity+=10
    isJumping=false; 
}
y+=velocity;
velocity-=1;

然后你需要做一些检查以确定你下面是否有物体。如果是这样,请将速度设置为0.随意增强此功能,但使用基于物理的方法可以获得最流畅的方法。