FOV

Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
996
Реакции[?]
86
Поинты[?]
23K
Всем добрый вечер! Подскажите пожалуйста, как сделать кружочек FOV
 
Energy Reload
Забаненный
Статус
Оффлайн
Регистрация
20 Авг 2017
Сообщения
1,206
Реакции[?]
330
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
UwU Femboy EAC coder
Забаненный
Статус
Оффлайн
Регистрация
27 Мар 2021
Сообщения
252
Реакции[?]
64
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
DrawCircle:
void Circle(const Vector2& Start, const Color& Color, float Radius, float Thickness /*= 1.f*/)
    {
        //gen dots
        Vector2 Dots[90]; int NumDots = 0; //max 90
        for (float i = 0.f; i < 6.28f; i += 0.14f) {
            Dots[NumDots++] = {
                Start.x + Radius * RenderToolKit::FastCos(i),
                Start.y + Radius * RenderToolKit::FastSin(i)
            };
        }

        //draw curcle
        RenderToolKit::AddPolyLineAA(Dots, NumDots, Color.DXColor, true, Thickness);
    }
C++:
            if ( Fov )
       {
            Circle ( { 2560/2, 1440/2 }, Color ( 75, 0, 130, 255 ), Fovv , 0.5f );
        }
 
Пользователь
Статус
Оффлайн
Регистрация
15 Апр 2020
Сообщения
320
Реакции[?]
79
Поинты[?]
0
C++:
void DrawCircle(float x, float y, float r, int color, float resolution)
{
    float PointX = 0.f;
    float PointY = 0.f;

    for (int i = 0; i <= resolution; ++i)
    {
        float X = x + r * cos(2 * 3.14159265358979323846264 * i / resolution);
        float Y = y - r * sin(2 * 3.14159265358979323846264 * i / resolution);
        if (i > 0) DrawLine(X, Y, PointX, PointY, color);
        PointX = X; PointY = Y;
    }
}

void RenderFOV(){
    DrawCircle(pRenderer->GetWidth() / 2, pRenderer->GetHeight() / 2, FovSize, Color(255, 255, 255, 255), 200);
}
 
Пользователь
Статус
Оффлайн
Регистрация
5 Июл 2022
Сообщения
996
Реакции[?]
86
Поинты[?]
23K
DrawCircle:
void Circle(const Vector2& Start, const Color& Color, float Radius, float Thickness /*= 1.f*/)
    {
        //gen dots
        Vector2 Dots[90]; int NumDots = 0; //max 90
        for (float i = 0.f; i < 6.28f; i += 0.14f) {
            Dots[NumDots++] = {
                Start.x + Radius * RenderToolKit::FastCos(i),
                Start.y + Radius * RenderToolKit::FastSin(i)
            };
        }

        //draw curcle
        RenderToolKit::AddPolyLineAA(Dots, NumDots, Color.DXColor, true, Thickness);
    }
C++:
            if ( Fov )
       {
            Circle ( { 2560/2, 1440/2 }, Color ( 75, 0, 130, 255 ), Fovv , 0.5f );
        }
Спасибо)
Тебе круг отрисовать или чек игроков в самом круге?
круг
 
Сверху Снизу