Código Joystick

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; 
        } 
    } 
}

 

Supongo que te gusta

Origin www.cnblogs.com/2018shawn/p/12750132.html
Recomendado
Clasificación