마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안녕하세요 초보자 입니다. 대각선 이동에 관해 문의드리고자 합니다.

0 추천
안녕하세요 초보자 입니다. 대각선 이동에 관해 문의드리고자 합니다.

atan2() 함수를 이용해 점고 점 사이의 각을 구하는 것까지는 알아냈습니다.
그런데, 그 좌표점 사이를 원터치나 투터치 이벤트 할 때 일정하게 대각선으로 이동하려고 하는데 어떻게 해야 할지 전혀 모르겠습니다. 경험이 있으시거나 정보가 있으시다면 좀 가르쳐 주세요. 이동하려고 하는 객체는 작은 image 입니다.

감사합니다.
익명사용자 님이 2015년 5월 30일 질문

1개의 답변

0 추천

게임과 비슷한 방법이겠지만

그냥 선 그리는 함수를 이용해서 그 좌표 대로 선 대신 이미지를 이동하면되지 않겠어요?

아래는 c언어로 된것이지만 충분히 변경이 가능하실거 같구요

dot 대신 이미지를 이동하면 되겠지여?

 

 

doridori2013@nate.com

 

void  line( int x1, int y1, int x2, int y2)
{        
   int      dx, dy;
   int      p_value;
   int      inc_2dy;
   int      inc_2dydx;
   int      inc_value;
   int      ndx;
                   
   dx       = abs( x2 -x1);
   dy       = abs( y2 -y1);
   
   
   if ( dy <= dx)
   {
      inc_2dy     = 2 * dy;
      inc_2dydx   = 2 * ( dy - dx);
      
      if ( x2 < x1)
      {
         ndx   = x1;
         x1    = x2;
         x2    = ndx;
         
         ndx   = y1;
         y1    = y2;
         y2    = ndx;
      }
      if ( y1 < y2)  inc_value   = 1;
      else           inc_value   = -1;
         
      dot( x1, y1);
      p_value  = 2 * dy - dx;    
      for (ndx = x1; ndx < x2; ndx++)
      {
         if ( 0 > p_value)    p_value  += inc_2dy;
         else
         {
            p_value  += inc_2dydx;
            y1       += inc_value;
         }
         dot( ndx, y1);
      }
   }
   else
   {
      inc_2dy     = 2 * dx;
      inc_2dydx   = 2 * ( dx - dy);
      
      if ( y2 < y1)
      {
         ndx   = y1;
         y1    = y2;
         y2    = ndx;
         
         ndx   = x1;
         x1    = x2;
         x2    = ndx;
      }
      if ( x1 < x2)  inc_value   = 1;
      else           inc_value   = -1;
         
      dot( x1, y1);
      p_value  = 2 * dx - dy;    
      for (ndx = y1; ndx < y2; ndx++)
      {
         if ( 0 > p_value)    p_value  += inc_2dy;
         else
         {
            p_value  += inc_2dydx;
            x1       += inc_value;
         }
         dot( x1, ndx);
      }
      
   }
   
}  

 

익명사용자 님이 2015년 6월 1일 답변
위에 doridori 얘 사기꾼입니다.
...