玩家跳了但没有回来,如果你按住向上箭头键,玩家会飞/漂浮,我怎么能解决这个问题让玩家倒退?如果提供源代码会很好,但任何帮助都很棒。
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;
}
}
答案 0 :(得分:0)
我通过引入标志 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;
}
}