2012-03-04 4 views
0

나는 화살촉을 만들고있어. 나는 자연적인 방법으로 화살표가 날아가는 파라볼을 원한다. 그래서 나는 그것이 날 때 화살표를 돌린다.화살촉 만들기

protected void onDraw(Canvas canvas) { 

    canvas.drawColor(Color.WHITE); 
    Matrix matrix=new Matrix(); 
    degree= (float) (Math.atan(y1/x1)*180/Math.PI); 
    matrix.postRotate(degree,x ,y); 
    matrix.postTranslate(x ,y); 
    alpha=(float) ((90-degree)*Math.PI/180); 
    canvas.drawBitmap(bmp, matrix, null); 
    if(k==1){ 
     vy=(float) (vo*Math.cos(alpha)); 
     vx=(float) (vo*Math.sin(alpha)-g*t); 
     if(vy != 0) { 
       beta = (float)Math.atan(vy/vx); 
      } 
      else 
      { 
       beta = (float) (vx < 0 ? -Math.PI/2 : Math.PI/2); 
      } 
     /*x=vx*t; 
     y=vy*t+g*t*t/2;*/ 
     y+=20; 
     x=(float) ((-g)*Math.pow(y, 2)/(2*vo*vo*Math.pow(Math.cos(beta), 2))+Math.tan(beta)*y/10); 
     matrix.postRotate((float) ((beta)*180/Math.PI) ,x ,y); 
     canvas.drawBitmap(bmp, matrix, null); 
     t++; 
    } 
} 

내가 2 화살표 부탁해 분리 국지적 인 화살표를 이해하지 못하고, 어떻게해야합니까 : 이 내 코드?

+0

'화살표가 분리되어 있습니다. 2 화살'무엇을 의미합니까? – WarrenFaith

+0

화살표가 2 개의 화살표로 구분됩니다. 그 의미는 두 개의 화살표가 만들어집니다. –

답변

0

bmp을 그리려면 두 번 전화해야합니다. 한 줄 모양을 제거하십시오 canvas.drawBitmap(bmp, matrix, null);. 아마 당신 앞에있는 것 if (k == 1)

+0

감사합니다. 할 수 있습니다. –