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) DrawString(X, Y, 17.f, Color, ".");
PointX = X; PointY = Y;
}
}
Не легче было вместо 3.14159265358979323846264 сделать просто M_PI или PI в каждом сдк по разному.C++:void DrawCircle(float x, float y, float r, int cLine, 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) DrawString(X, Y, 17.f, cLine, "."); PointX = X; PointY = Y; } }
Тут если я не ошибаюсь нужно имгуй подключать?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) DrawString(X, Y, 17.f, Color, "."); PointX = X; PointY = Y; } }
Возможно это GDIТут если я не ошибаюсь нужно имгуй подключать?
Друг, возможно я открою тебе секрет, но ты чисто физически не сможешь нарисовать круг. Любой круг, отрисованный на экране монитора - является 65537-угольником, который (ого вдруг!!) состоит из точек. Да, я душнила. Бтв, реализация Biven через буквально точку (как текст) это . Юзай лучше DrawLine.Желательно не круг, а круг из точек
Пишет идентификатор не определен. Нужно добавить имгуи?Друг, возможно я открою тебе секрет, но ты чисто физически не сможешь нарисовать круг. Любой круг, отрисованный на экране монитора - является 65537-угольником, который (ого вдруг!!) состоит из точек. Да, я душнила. Бтв, реализация Biven через буквально точку (как текст) это . Юзай лучше DrawLine.
на кой черт ты спрашиваешь про имгуи, если тред "на игровой рисовке" и тебе дали решение?Пишет идентификатор не определен. Нужно добавить имгуи?
Так ты понимаешь, чел уже второй раз создает тему на этот вопросна кой черт ты спрашиваешь про имгуи, если тред "на игровой рисовке" и тебе дали решение?
я хз, я дурачек. Туплю моментами. Подскажи, слишком добрый человек, можно сделать вот так, что бы идентификатор DrawString был объявлен?на кой черт ты спрашиваешь про имгуи, если тред "на игровой рисовке" и тебе дали решение?
void DrawString(//тут параметры, переменный, я хз как правильно назвать. Ну думаю меня поняли)
drawstring берется с структуры рисовки игры...я хз, я дурачек. Туплю моментами. Подскажи, слишком добрый человек, можно сделать вот так, что бы идентификатор DrawString был объявлен?C++:void DrawString(//тут параметры, переменный, я хз как правильно назвать. Ну думаю меня поняли)
Хорошо, я так понял это структура IRender? Сори если глупые вопросыdrawstring берется с структуры рисовки игры...
что за структура волшебная?drawstring берется с структуры рисовки игры...
Так ему нужно точками, а не линиями, с точками и предложил примерДруг, возможно я открою тебе секрет, но ты чисто физически не сможешь нарисовать круг. Любой круг, отрисованный на экране монитора - является 65537-угольником, который (ого вдруг!!) состоит из точек. Да, я душнила. Бтв, реализация Biven через буквально точку (как текст) это . Юзай лучше DrawLine.
а что делать с этим DrawString. Куда его всучить, подскажи пожалуйстаТак ему нужно точками, а не линиями, с точками и предложил пример
В классе IFont есть эти виртуальные функции. И посмотри в сурсах как выводят текст на экран через игровые DrawStringа что делать с этим DrawString. Куда его всучить, подскажи пожалуйста
class IFont
{
public:
virtual void Function0() = 0;
virtual void Function1() = 0;
virtual void Function2() = 0;
virtual bool Load(const char* pXMLFile) = 0;
virtual void Function4() = 0;
virtual void Function5() = 0;;
virtual void Function6() = 0;
virtual void DrawString(float x, float y, const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0;
virtual void DrawStringW(float x, float y, float z, const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0;
virtual void Function9() = 0;
virtual Vec2 GetTextSize(const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0;
virtual Vec2 GetTextSizeW(const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0;
virtual int GetTextLength(const char* szwMsg, const bool bASCIIMultiLine) = 0;
virtual int GetTextLengthW(const wchar_t* szwMsg, const bool bASCIIMultiLine) = 0;
};
ок, спасибо большоеВ классе IFont есть эти виртуальные функции. И посмотри в сурсах как выводят текст на экран через игровые DrawString
C++:class IFont { public: virtual void Function0() = 0; virtual void Function1() = 0; virtual void Function2() = 0; virtual bool Load(const char* pXMLFile) = 0; virtual void Function4() = 0; virtual void Function5() = 0;; virtual void Function6() = 0; virtual void DrawString(float x, float y, const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual void DrawStringW(float x, float y, float z, const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual void Function9() = 0; virtual Vec2 GetTextSize(const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual Vec2 GetTextSizeW(const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual int GetTextLength(const char* szwMsg, const bool bASCIIMultiLine) = 0; virtual int GetTextLengthW(const wchar_t* szwMsg, const bool bASCIIMultiLine) = 0; };
Можешь пожалуйста примеры привести в каких сурсах искатьВ классе IFont есть эти виртуальные функции. И посмотри в сурсах как выводят текст на экран через игровые DrawString
C++:class IFont { public: virtual void Function0() = 0; virtual void Function1() = 0; virtual void Function2() = 0; virtual bool Load(const char* pXMLFile) = 0; virtual void Function4() = 0; virtual void Function5() = 0;; virtual void Function6() = 0; virtual void DrawString(float x, float y, const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual void DrawStringW(float x, float y, float z, const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual void Function9() = 0; virtual Vec2 GetTextSize(const char* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual Vec2 GetTextSizeW(const wchar_t* pStr, const bool asciiMultiLine, const STextDrawContext& ctx) = 0; virtual int GetTextLength(const char* szwMsg, const bool bASCIIMultiLine) = 0; virtual int GetTextLengthW(const wchar_t* szwMsg, const bool bASCIIMultiLine) = 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) DrawString(X, Y, 17.f, Color, "."); PointX = X; PointY = Y; } }
r - размер,А как уменьшить его размер и кол-во точек?
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz