Spremenil da drevo narise cez par framov da ni lega

This commit is contained in:
2024-12-29 16:44:24 +01:00
parent ba0eecf0b7
commit e42cd89337
7 changed files with 24 additions and 3 deletions

View File

@@ -30,7 +30,8 @@ void App::init(int screenWidth, int screenHeight)
void App::update()
{
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT))
bool isDone = canvas.tick(canvasTexure);
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT) && isDone)
{
Vector2 mouse = GetMousePosition();
if (CheckCollisionPointRec(mouse, disLikeBox))

View File

@@ -19,6 +19,14 @@ void Canvas::newGen(RenderTexture2D &target, Dna *dna)
EndTextureMode();
}
bool Canvas::tick(RenderTexture2D &target)
{
BeginTextureMode(target);
bool ret = tree.tick();
EndTextureMode();
return ret;
}
void Canvas::deinit()
{
backGround.deinit();

View File

@@ -7,6 +7,8 @@
#include <raylib.h>
#include <raymath.h>
#define ITER_PER_FRAME 5000
// Public
void Tree::init(int size)
{
@@ -21,12 +23,21 @@ void Tree::draw(Dna *dna)
m_dna = dna;
draw_calls.push_back({start, 0, (float)size / 4, 1});
}
bool Tree::tick()
{
size_t i = 0;
while (!draw_calls.empty())
{
drawBranch();
draw_calls.pop_front();
i++;
if (i >= ITER_PER_FRAME)
break;
}
return draw_calls.empty();
}
// Private