编辑器加载中...
1 float WGDragLine::PointRotate(CCPoint p1,CCPoint p2) 2 { 3 float x; 4 float ix,iy; 5 ix = p1.x - p2.x; 6 iy = p1.y - p2.y; 7 if (ix >= 0 && iy < 0) { 8 if (ix == 0) { 9 x= 270; 10 } else { 11 iy *= -1; 12 x = 180 + (float) (atan(iy / ix) * 180 / (float)(M_PI)); 13 } 14 } else if (ix > 0 && iy >= 0) { 15 if (iy == 0) { 16 x = 180; 17 } else { 18 x = 90+(float) ( atan(ix / iy) * 180 / (float)(M_PI)); 19 } 20 } else if (ix <= 0 && iy > 0) { 21 if (ix == 0) { 22 x = 90; 23 } else { 24 ix *= -1; 25 x = (float) ( atan(iy / ix) * 180 / (float)(M_PI)); 26 } 27 } else { 28 if (iy == 0) { 29 x = 0; 30 } else { 31 ix *= -1; 32 iy *= -1; 33 x = 270 + (float) ( atan(ix / iy) * 180 / (float)(M_PI)); 34 } 35 } 36 return x; 37 }