2010-11-13 87 views
0

我試圖朝着鼠標的位圖旋轉和角度,但我得到了奇怪的結果:的Android編程位圖的旋轉

視頻:http://www.truploader.com/view/993341

鼠標是不可見它不旋轉,但它不會旋轉到鼠標尖端。

代碼:

 /** 
    * Rotates the object based on a point 
    */ 
public void setRotation(float x, float y) 
{ 
    float XDistance = this.xPos - x; 
     float YDistance = this.yPos - y; 

     float Radians = (float) Math.atan2(YDistance, XDistance); 
     this.degrees = Math.round((Radians*180/Math.PI)); 

     this.moveObject(); 
     this.r.setRotate(this.degrees, this.picture.getWidth()/2, this.picture.getHeight()); //origin of the base 
    // this.r.setRotate(this.degrees, this.picture.getWidth()/2, this.picture.getHeight()/2); 
} 

鼠標位置爲x,和y。任何任何想法?

回答

0

你從哪裏得到「鼠標位置」?我想你從一個MotionEvent中獲取它,所以注意到這個座標是相對於目標視圖原點的。

0

你期待什麼結果? Rotates the object based on a point可能意味着很多事情。它有什麼問題?

度數是否正確?初始化你的對象,假設一個鼠標位置,看看你是否期望它是什麼以及你需要它。如果不起作用,請考慮編寫單元測試。

this.moveObject();做什麼?它做什麼,它應該做的是正確的?

this.r.setRotate(是否需要度數?爲什麼this.picture.getWidth()/2?關於它旋轉的點是什麼?

那麼,怎麼了?