3d треугольник застревает c ++ opengl glfw - PullRequest
1 голос
/ 24 сентября 2019

Я пытаюсь сделать вращение 3-го треугольника, и он застревает, потому что он не входит в один из моих «если», и я не знаю, почему он не входит в него.в то время как он должен работать, но он останавливается после одного вращения, может кто-то помочь? это то место, где оно перестает вращаться

void Triangle::turnLeft(Triangle* t)
{

    if (pointGoLeft1 && p1.getX() < 0.5f)
    {
        p1.increaseX();
    }
    else if (p1.getX() == 0.5f && pointGoLeft1)
    {
        pointGoLeft1 = false;
    }
    else if (p1.getX() == -0.5f && !pointGoLeft1)
    {
        pointGoLeft1 = true;
    }
    else if (!pointGoLeft1 && p1.getX() > -0.5f)
    {
        p1.decreaseX();
    }

    if (pointGoLeft3 && p3.getX() < 0.5f)
    {
        p3.increaseX();
    }
    else if (p3.getX() == 0.5f && pointGoLeft3)
    {
        pointGoLeft3 = false;
    }
    else if (p3.getX() == -0.5f && !pointGoLeft3)
    {
        pointGoLeft3 = true;
    }
    else if (!pointGoLeft3 && p3.getX() > -0.5f)
    {
        p3.decreaseX();
    }

    if (pointGoLeft4 && p4.getX() < 0.5f)
    {
        p4.increaseX();
    }
    else if (p4.getX() == 0.5f && pointGoLeft4)
    {
        pointGoLeft4 = false;
    }
    else if (p4.getX() == -0.5f && !pointGoLeft4)
    {
        pointGoLeft4 = true;
    }
    else if (!pointGoLeft4 && p4.getX() > -0.5f)
    {
        p4.decreaseX();
    }

    t->buildTriangle();
}

...