2012-07-31 53 views
0

 我們如何將Int值轉換爲角度。將Int值轉換爲角度

int speed = remoteService.getSpeed(); 

我收到來自遠程服務的速度值,我想將它轉化成一個角度。

我怎樣才能做到這一點?任何想法?

+0

哪種類型的角度或什麼是角!你有什麼想法嗎? – 2012-07-31 05:30:33

+0

我在我的程序中有一個車速表,我想根據車速值設置針,如果車速值是30,那麼我應該在車速表中顯示它 – Randroid 2012-07-31 05:33:08

+0

因此,這意味着您需要顯示圖像? (或其他) – 2012-07-31 05:35:33

回答

2

public void getGenginePos(int state,float force,double AOD)double AODrad =(AOD * 0.017444);

switch(state){ 
     case BOAT_IDLE: 
       //System.out.println("Before Vx = " + vx + ", vy = " + vy + ", f = " + force + ", AOD = " + AOD); 
       vx = (float)(force * Math.cos(AODrad)); 
       px = px + (vx * dt); 
       vy = (float) (force * Math.sin(AODrad)); 
       //System.out.println("After Vx = " + vx + ", vy = " + vy); 

       py = py - (vy * dt); 

       break; 
     case BOAT_ACCEL: 
       temp = force *dt; 
       vx = (float) (force * Math.cos(AODrad) + temp);//(force * dt)); 
       vy = (float) (force * Math.sin(AODrad) + temp);//(force * dt)); 
       px = px + (vx * dt); 
       py = py - (vy * dt); 
       break; 
     case BOAT_DECEL: 
       temp = force *dt; 
       vx = (float) (force * Math.cos(AODrad) - temp);//(force * dt)); 
       vy = (float) (force * Math.sin(AODrad) - temp);//(force * dt)); 
       px = px + (vx * dt); 
       py = py - (vy * dt); 
       break; 
     default: break; 

    } 
} 

public void setMeterPos(int rpx,int rpy,int epx,int epy){ 
    RefX= rpx; 
    RefY= rpy; 

    EndX = epx; 
    EndY = epy; 

    screenwidth=BoatRider.screenWidth; 
    screenheight=BoatRider.screenHeight; 
} 

public void setArrowEndX(int x){ 
    EndX = x; 
} 
public void setArrowEndY(int y){ 
    EndY = y; 
} 
public float getArrowEndX(){ 
    return EndX; 
} 

public float getArrowEndY(){ 
    return EndY; 
} 

public void getGMeterArrowPos(double AOD,float radius){ 
    double AODrad=(AOD*0.017444); 
    vx=(float)(radius*Math.cos(AODrad)); 
    vy=(float)(radius*Math.sin(AODrad)); 

    float height=screenheight-RefY; 

    EndX = vx+RefX; 
    EndY=screenheight-(vy+height); 

} 

public float getBorderEndX(){ 
    return EndX; 
} 
public float getBorderEndY(){ 
    return EndY; 
} 
public void getGBoatBorderPos(double AOD,float radius,float boderRefX,float boderRefY){ 
    double AODrad=(AOD*0.017444); 
    vx=(float)(radius*Math.cos(AODrad)); 
    vy=(float)(radius*Math.sin(AODrad)); 

    float height=screenheight-boderRefY; 

    EndX = vx+boderRefX; 
    EndY=screenheight-(vy+height); 

} 

} 這將是非常有用的

+0

非常感謝,我在這裏應該使用哪一段代碼? – Randroid 2012-07-31 05:48:38

+0

其基本的車速表代碼我在開發遊戲時使用它 – Ramkumar 2012-07-31 05:50:19

1
int speed = 90; 
double degrees = speed ; 
double angle = degrees * 2 * Math.PI/360.0; 

或者你可以使用

int speed = 30; 
double degrees = speed; 
double toDegree = Math.toDegrees(radians); 
+0

這對我有什麼幫助嗎? – Valentin 2012-07-31 05:53:14

+0

感謝您的回覆,我們如何將此角度設置爲我正在使用的速度計的位圖圖像(針)?這樣針就會根據速度移動 – Randroid 2012-07-31 06:30:58