我试着做一个平台游戏,我只是不能让跳跃顺利。使用此代码:
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;
}
}不会掉下来的。那么,我怎样才能使跳跃更顺畅呢?
发布于 2016-01-04 19:05:49
你真的会想要使用某种基于物理的方法。至少,除了位置,你还应该建立一个速度模型。
float Velocity=0;
if (isJumping) {
velocity+=10
isJumping=false;
}
y+=velocity;
velocity-=1;然后,您需要做一些检查,看看是否有一个对象在您下面。如果是的话,将你的速度设置为0。尽管可以加强这一点,但是最平滑的方法将产生于使用基于物理的方法。
https://stackoverflow.com/questions/33063603
复制相似问题