Código Joystick
Dirección enum { CENTRO = 0 , ARRIBA, ABAJO, IZQUIERDA, DERECHA }; Dirección JudgeUpDownLeftRight (CPoint pt, CPoint center, int nCenterR) { // 不 包含 边界 计算 int absToY = abs (pt.x - center.x); int absToX = abs (pt.y - center.y); if ((absToX <nCenterR) && (absToY < nCenterR)) { return CENTER; } if (pt.x> = center.x && pt.y < center.y) { if (absToX < absToY) { return RIGHT; } else { return UP; } } más if (pt.x <center.x && pt.y < center.y) { if (absToX < absToY) { return LEFT; } else { return UP; } } más if (pt.x <center.x && pt.y> = center.y) { if (absToX < absToY) { returnIZQUIERDA; } else { return DOWN; } } else / * if (pt.x> = center.x && pt.y> = center.y) * / { if (absToX < absToY) { return RIGHT; } else { return DOWN; } } }