2013-08-06 72 views
-1

我跟着這個tutorial(其中包括速度和多線程)如何在Android中移動圖像,並且如此之好。不過,我想知道如何將圖像移動一圈?如何將圖像移動一圈?

我一直在修改Droid類中的update()方法整天....無濟於事。

public void update() { 
     if (!touched) { 

      x += (speed.getXv() * speed.getxDirection()); 
      y += (speed.getYv() * speed.getyDirection()); 

}}

任何幫助,我將永遠感激。謝謝你提前。

+1

對於[示例](http://stackoverflow.com/a/3256941/230513),使用[此處]顯示的方法(http://stackoverflow.com/a/2510048/230513)。 – trashgod

+0

感謝您的鏈接,非常感謝。不知道爲什麼我得到「JPanel無法解析到某種類型」現在試圖谷歌錯誤。 – AhabLives

+1

你需要'import javax.swing.JPanel;'在文件的頂部。 –

回答

1

如果你想保持速度的概念,你需要改變速度矢量,改變它的方向,但保持它的大小,在每個時間間隔等度量。您必須確保定期調用更新函數。像這樣的東西應該工作:

public void update() 
{ 
    r = rFromXY(speed); 
    t = tFromXY(speed); 

    t += turningSpeed; 

    speed.setXv(xFromPolar(r,t)); 
    speed.setYv(yFromPolar(r,t)); 

    if (!touched) 
    { 
     x += (speed.getXv() * speed.getxDirection()); 
     y += (speed.getYv() * speed.getyDirection()); 
    } 
} 

凡aFromB功能極地和直角座標系之間的轉換。 但是,如果你想寫的東西嚴重,你應該看看physics engine

+0

感謝您的幫助。我真的很想保持多線程和速度。你能指出你認爲我必須修改哪些方法嗎?如果可能的話,怎麼辦?謝謝。 – AhabLives

+0

r,t和t那些前三行....他們都是雙??? – AhabLives

+0

是的,他們應該是雙。 – AlexDev