Renderowanie Parametrów GameObjectów

Renderowanie Parametrów GameObjectów
tBane
  • Rejestracja:ponad rok
  • Ostatnio:16 minut
  • Lokalizacja:Poznań
  • Postów:318
0

Witam. Pisze obecnie Edytor Mapy i napotkałem na pewien problem a mianowicie chciałbym renderować wizualnie parametry obiektów. Mam do dyspozycji dwie funkcje drawStatistics() oraz drawAllStatistics(). Pierwsza z nich rysuje gdy warunki dla rendera są spełnione druga zaś zawsze rysuje statystiki. Chciałbym napisać taka logikę, że gdy obiekt jest zaznaczony lub najechany kursorem to rysuje statystiki wszystkie w przeciwnym wypadku rysuje tylko te, które są wymagane.

Kopiuj
virtual void drawStatistics(){
	if(renderColliders)
		window->draw(*collider->shape);
}

virtual void drawAllStatistics() {
	window->draw(*collider->shape);
}

Błędny kod - zła logika

Kopiuj
for (auto& go : gameObjects) {
    if(!go->mouseIsOver && go->drawingStatistics)
        go->drawStatistics();
}

for (auto& go : selectedGameObjects)
    if(!go->mouseIsOver)
        go->drawAllStatistics();

if (tool == toolType::Cursor)
    for (auto& go : gameObjects)
        if (go->mouseIsOver) {
            go->drawAllStatistics();
        }

W wolnych chwilach od codzienności programuję hobbystycznie Edytor gier RPG 2D.
Technologie, z których korzystam to C++ oraz SFML 2.6.
edytowany 1x, ostatnio: tBane
tBane
  • Rejestracja:ponad rok
  • Ostatnio:16 minut
  • Lokalizacja:Poznań
  • Postów:318
0

Dobra. Już mam :

Kopiuj
for (auto& go : gameObjects) {
    if (go->mouseIsOver || go->isSelected) {
        // Obiekt jest najechany kursorem lub zaznaczony - rysuj wszystkie statystyki
        go->drawAllStatistics();
    }
    else {
        // Obiekt nie jest najechany ani zaznaczony - rysuj tylko wymagane statystyki
        go->drawStatistics();
    }
}

W wolnych chwilach od codzienności programuję hobbystycznie Edytor gier RPG 2D.
Technologie, z których korzystam to C++ oraz SFML 2.6.
MarekR22
trochę mnie to śmieszy, że masz skończoną myszkę :)
tBane
ups chyba h mi się zgubiło :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.