我是Android遊戲開發新手,我開始了一個簡單的遊戲,Droid可以跳過傳入的框。 我想(只是在屏幕上簡單的點擊)叫我droid.jump()與一的onTouchEvent表面視圖方法安卓遊戲中的跳轉方法
我創建了一個名爲Droid的類:
public class Droid {
// Log Tag for Debugging
public static final String LOG_TAG = "_1Projekt";
private Bitmap bitmap; // the actual bitmap
private int x; // the X coordinate
private int y; // the Y coordinate
private boolean touched; // if droid is touched/picked up
private Speed speed; // the speed with its directions
private long mLastTime;
public Droid(Bitmap bitmap, int x, int y) {
this.bitmap = bitmap;
this.x = x;
this.y = y;
this.speed = new Speed();
}
... ... ...
而jump()方法是我的問題。我想有一個平穩的跳躍,但我不知道如何用當前系統時間來計算。 我的想法是,機器人應該更新它在每個時間週期的位置,並且應該以一個較快的速度開始,然後將它降低到0以獲得平穩的跳躍。 但我不知道如何在我的while循環中計算這個值。 我現在的跳躍():
public void jump() {
Log.d(LOG_TAG, "Jumping");
long now = System.currentTimeMillis();
int elapsedTime = 100;
int jump = y-30;
while(y > jump)
{
if(System.currentTimeMillis() > now + elapsedTime)
{
now = now + elapsedTime;
elapsedTime -=3;
y = y-1;
}
}
}
就知道我只執行跳轉的「向上」的一部分。 謝謝你的回答!問候DroidDude
也許設置一個標誌,當你的機器人達到最大高度,然後重新使用你的循環,但降低高度。 – Mualig