Другое С/С++ Вопрос - Ответ

Musaigen

ihatemyself
Проверенный
1,710
1,604
ой, не правильно сформулировал вопрос, как сделать так, чтоб чекбоксы были в 2 столбика?
Если у тебя ряд чекбоксов то
C++:
ImGui::BeginGroup();
// checkboxes
ImGui::EndGroup();
ImGui::SameLine();
// тоже самое
либо ImGui::SameLine();
 
  • Нравится
Реакции: SiTrak

rraggerr

проверенный какой-то
1,626
852
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как изменить направление вектора по градусам? CVector
чтобы было примерно так
rotate_vec(Vector, 45)


Уп
 

SiTrak

Известный
192
264
Как можно создать такую вкладку?
 

Вложения

  • 1111.png
    1111.png
    1.8 KB · Просмотры: 276

Неадекватная сова

Известный
Проверенный
342
296
Как изменить направление вектора по градусам? CVector
чтобы было примерно так
rotate_vec(Vector, 45)


Уп
Это конечно все не точно, но может тебе даст направление

Код:
// get player matrix
                CMatrix matPed;
                pPedSelf->GetMatrix(&matPed);

                // tilt player upright
                CVector rotationAxis = g_vecUpNormal;
                rotationAxis.CrossProduct( &matPed.vUp );
                float theta = ( matPed.vUp.DotProduct( &g_vecUpNormal ) );
                if ( !near_zero(theta) )
                {
                    matPed = matPed.Rotate( &rotationAxis, cos(theta) );
                    // normalize everything
                    matPed.vFront.Normalize();
                    matPed.vRight.Normalize();
                    matPed.vUp.Normalize();
                    // zero near zero
                    matPed.vFront.ZeroNearZero();
                    matPed.vRight.ZeroNearZero();
                    matPed.vUp.ZeroNearZero();
                    // set player matrix
                    pPedSelf->SetMatrix(&matPed);

Код:
CMatrix Rotate ( const CVector * param, float theta )
    {
        // Rotate the rotation matrix
        double sin_t = sinf( theta ), cos_t = cosf( theta );
        CMatrix mRotateMult;
        // rotate X
        mRotateMult.vRight.fX = (double) cos_t + ( 1.0f - cos_t ) * param->fX * param->fX;
        mRotateMult.vRight.fY = (double) ( 1.0f - cos_t ) * param->fX * param->fY - sin_t * param->fZ;
        mRotateMult.vRight.fZ = (double) ( 1.0f - cos_t ) * param->fX * param->fZ + sin_t * param->fY;
        // rotate Y
        mRotateMult.vFront.fX = (double) ( 1.0f - cos_t ) * param->fY * param->fX + sin_t * param->fZ;
        mRotateMult.vFront.fY = (double) cos_t + ( 1.0f - cos_t ) * param->fY * param->fY;
        mRotateMult.vFront.fZ = (double) ( 1.0f - cos_t ) * param->fY * param->fZ - sin_t * param->fX;
        // rotate Z
        mRotateMult.vUp.fX = (double) ( 1.0f - cos_t ) * param->fZ * param->fX - sin_t * param->fY;
        mRotateMult.vUp.fY = (double) ( 1.0f - cos_t ) * param->fZ * param->fY + sin_t * param->fX;
        mRotateMult.vUp.fZ = (double) cos_t + ( 1.0f - cos_t ) * param->fZ * param->fZ;
        // multiply matrix
        mRotateMult = mRotateMult * (*this);
        // set vectors
        mRotateMult.vPos = vPos;
        // return
        return mRotateMult;
    }

Попробуй еще сам поковыряться в сурсах собейта. По сути можно найти функцию которая срабатывает на Backspace. Она разворачивает кар на 180 градусов. Видимо тебя это интересует
 

rraggerr

проверенный какой-то
1,626
852
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это конечно все не точно, но может тебе даст направление

Код:
// get player matrix
                CMatrix matPed;
                pPedSelf->GetMatrix(&matPed);

                // tilt player upright
                CVector rotationAxis = g_vecUpNormal;
                rotationAxis.CrossProduct( &matPed.vUp );
                float theta = ( matPed.vUp.DotProduct( &g_vecUpNormal ) );
                if ( !near_zero(theta) )
                {
                    matPed = matPed.Rotate( &rotationAxis, cos(theta) );
                    // normalize everything
                    matPed.vFront.Normalize();
                    matPed.vRight.Normalize();
                    matPed.vUp.Normalize();
                    // zero near zero
                    matPed.vFront.ZeroNearZero();
                    matPed.vRight.ZeroNearZero();
                    matPed.vUp.ZeroNearZero();
                    // set player matrix
                    pPedSelf->SetMatrix(&matPed);

Код:
CMatrix Rotate ( const CVector * param, float theta )
    {
        // Rotate the rotation matrix
        double sin_t = sinf( theta ), cos_t = cosf( theta );
        CMatrix mRotateMult;
        // rotate X
        mRotateMult.vRight.fX = (double) cos_t + ( 1.0f - cos_t ) * param->fX * param->fX;
        mRotateMult.vRight.fY = (double) ( 1.0f - cos_t ) * param->fX * param->fY - sin_t * param->fZ;
        mRotateMult.vRight.fZ = (double) ( 1.0f - cos_t ) * param->fX * param->fZ + sin_t * param->fY;
        // rotate Y
        mRotateMult.vFront.fX = (double) ( 1.0f - cos_t ) * param->fY * param->fX + sin_t * param->fZ;
        mRotateMult.vFront.fY = (double) cos_t + ( 1.0f - cos_t ) * param->fY * param->fY;
        mRotateMult.vFront.fZ = (double) ( 1.0f - cos_t ) * param->fY * param->fZ - sin_t * param->fX;
        // rotate Z
        mRotateMult.vUp.fX = (double) ( 1.0f - cos_t ) * param->fZ * param->fX - sin_t * param->fY;
        mRotateMult.vUp.fY = (double) ( 1.0f - cos_t ) * param->fZ * param->fY + sin_t * param->fX;
        mRotateMult.vUp.fZ = (double) cos_t + ( 1.0f - cos_t ) * param->fZ * param->fZ;
        // multiply matrix
        mRotateMult = mRotateMult * (*this);
        // set vectors
        mRotateMult.vPos = vPos;
        // return
        return mRotateMult;
    }

Попробуй еще сам поковыряться в сурсах собейта. По сути можно найти функцию которая срабатывает на Backspace. Она разворачивает кар на 180 градусов. Видимо тебя это интересует
Примерно да
 

iAmerican

Известный
Друг
611
261
ой, не правильно сформулировал вопрос, как сделать так, чтоб чекбоксы были в 2 столбика?
ImGui::Columns(2,"name(любое)",false)
чекбокс
чекбокс
ImGui::NextColumns()
Чекбокс
чекбокс
ImGui::Columns(1) // закрывающий колумнс
 
  • Нравится
Реакции: SiTrak

AnWu

Известный
Всефорумный модератор
4,787
5,427
Как правильно числа записывать в const char *? Не совсем понимаю, а загуглить правильно не выходит