玩家跳跃但没有下来,如果你按住向上箭头键,玩家会飞/漂浮,我怎么才能修复这个问题,让玩家倒下?如果提供源代码就好了,但任何帮助都是很好的。
import greenfoot.*;
public class Character extends Actor
{
double Force = 0;
double Gravity = 0.5;
double Boost_Speed = -6;
int Wait = 0;
public void act()
{
setLocation( getX(), (int)(getY() + Force) );
if(Greenfoot.isKeyDown("up")){
Wait++;
Force = Boost_Speed;
if(Wait >= 8)
{
setLocation( getX(), (int)(getY() + 1) );
Wait = 0;
}
}
Force = Force + Gravity;
} }
发布于 2017-12-04 04:55:39
我建议通过引入标志isJumped并使用Greenfoot.getKey()方法获得最后按下的键来建议解决方案:
import greenfoot.*;
public class Character extends Actor
{
double Force = 0;
double Gravity = 0.5;
double Boost_Speed = -6;
int Wait = 0;
private String lastKey;
private Boolean isJumped = false;
public void act()
{
setLocation( getX(), (int)(getY() + Force) );
lastKey = Greenfoot.getKey();
if(lastKey!=null && lastKey.equals("up") == true && isJumped == true) {
isJumped = false;
}
if(Greenfoot.isKeyDown("up") == true && isJumped == false) {
isJumped = true;
Wait++;
Force = Boost_Speed;
if(Wait >= 8)
{
setLocation( getX(), (int)(getY() + 1) );
Wait = 0;
}
}
Force = Force + Gravity;
}
}https://stackoverflow.com/questions/36094506
复制相似问题