Java 为什么精灵的这个jump()方法不起作用?
我的游戏现在只有两个类,“MyGdxGame”和“Player”。我在我的玩家类中添加了一个方法Java 为什么精灵的这个jump()方法不起作用?,java,android,libgdx,sprite,Java,Android,Libgdx,Sprite,我的游戏现在只有两个类,“MyGdxGame”和“Player”。我在我的玩家类中添加了一个方法jump(),并覆盖了touchtdown()方法,以便在每次点击屏幕时调用jump: public void jump() { startTime = TimeUtils.nanoTime(); elapsedTime = TimeUtils.timeSinceNanos(startTime); boolean jumpTime = elapsedTime < 20
jump()
,并覆盖了touchtdown()
方法,以便在每次点击屏幕时调用jump:
public void jump() {
startTime = TimeUtils.nanoTime();
elapsedTime = TimeUtils.timeSinceNanos(startTime);
boolean jumpTime = elapsedTime < 2000000001;
while (jumpTime) {
moveBy(xSpeed, ySpeed);
}
moveBy(xSpeed, -ySpeed);
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
//moveBy(xSpeed, ySpeed);
jump();
return true;
}
public void jump(){
startTime=TimeUtils.nanoTime();
elapsedTime=TimeUtils.timeSinceNanos(startTime);
布尔跳跃时间=elapsedTime<20000001;
while(跳时){
moveBy(xSpeed,ySpeed);
}
moveBy(xSpeed,-ySpeed);
}
@凌驾
公共布尔接地(整数屏幕X、整数屏幕Y、整数指针、整数按钮){
//moveBy(xSpeed,ySpeed);
跳跃();
返回true;
}
现在当屏幕被点击时,精灵会上升,但不会下降。在点击屏幕之前,精灵以恒定速度X从左向右移动。有什么想法吗
编辑:我构建了我的项目,然后再次运行它。当我点击屏幕时,它会冻结,然后崩溃lol布尔值
跳跃时间
在跳跃()方法的while循环中永远不会得到更新
尝试:
startTime=TimeUtils.nanoTime();
跳远时间=20000000001;
while(TimeUtils.timeSinceNanos(startTime)
哦,我明白了。。我做了更改,即使它阻止应用程序崩溃,精灵也不会跳:(当屏幕被点击时,游戏暂停2秒钟,然后恢复正常
startTime = TimeUtils.nanoTime();
long jumpTime= 2000000001;
while (TimeUtils.timeSinceNanos(startTime) < jumpTime) {
moveBy(xSpeed, ySpeed);
}
moveBy(xSpeed, -ySpeed);