2014-10-26 33 views
-1

我的遊戲目前只有2個類,「MyGdxGame」和「玩家」。我添加了一個方法jump()我的播放器類,並覆蓋了touchDown()方法調用跳每次點擊屏幕時間:爲什麼這個sprite的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; 
} 

眼下,當點擊屏幕精靈上升,但不會回來下。在點擊屏幕之前,精靈以恆定速度xSpeed從左向右移動。有任何想法嗎?

編輯:我建立了我的項目,然後再次運行它。當我點擊然後死機笑凍結

回答

1

布爾jumpTime永遠不會得到在跳躍()方法while循環中更新。

嘗試:

startTime = TimeUtils.nanoTime(); 
long jumpTime= 2000000001; 

while (TimeUtils.timeSinceNanos(startTime) < jumpTime) { 
    moveBy(xSpeed, ySpeed); 
} 

moveBy(xSpeed, -ySpeed); 
+0

哦,我看看。我所做的更改,即使停止從崩潰的應用程序,精靈不跳:(當點擊屏幕2秒遊戲暫停然後恢復正常 – DeuceDeuce 2014-10-26 16:26:53