W zdarzeniu on-click sprawdzasz, który obiekt został kliknięty, i powiadamiasz obiekt wyświetlający o obiekcie klikniętym. Prościej się nie da.
If klawisz myszy zostanie kliknięty to sprawdź co zostało kliknięte?
Tak.
to przekaż nazwę obiektu do obiektu 1?
Może nie nazwę, ale wskaźnik/referencję/indeks.
Mając ich np 100 muszę wywołać ją 100 razy dla różnych obiektów?
Tak, choć najsensowniej byłoby sprawdzanie zacząć od tych obiektów, które są na wierzchu.
A obiekt nie istnieje.
Jeśli wszystko odbywa się w jednym wątku, to raczej problemu być nie powinno (choć wszystko zależy od projektu, jego przemyślenia).
W przypadku QT pewnie są jakieś funkcje gotowe które zwracają wartość co się klikło.
Ponoć piszesz w SFML-u...
W przypadku QT pewnie są jakieś funkcje gotowe które zwracają wartość co się klikło. Tutaj takie coś muszę sam stworzyć i raczej musi być dynamiczne bo obiekty będą tworzone i niszczone. (Bo piszę w SFML ) :)
Przekazanie wskaźnika referencji itp tak o tym myślałem.
Czyli w momencie kliknięcia muszę wywołać metodę we wszystkich obiektach tworzonych.
Czy mając obiekty z kilku klas mogę to zrobić na tablicach np:
for( int i=0; i<liczba_ludzikow; i++) { if(ludzik[i].metodakolizli_itp) return true; else return false; } for( int i=0; i<liczba_Baz; i++) { if(baza[i].metodakolizli_itp) return true; //moze nie true ale referencje wskaznik na obiekt //ale jak by to mialo tygladac ?? // return *baza[i] czy &baza[i] else return false; } //I tak dalej mozna by dodac jeszcze // ifa ze wywoluje funkcje tylko wtedy kiedy // jest wiecej obiektow niz 0 if (liczba_ludzikow>0) { for( int i=0; i<liczba_ludzikow; i++) { if(ludzik[i].metodakolizli_itp) return true; else return false; } }
Można by stworzyć obiekt który dziedziczy po wszystkich klasach (ludzików i architektury) aby miał swobodny dostęp do zmiennej stanic w której miał bym liczbę ludzików budynków z danej klasy.
Ale czy to dobry pomysł.
No i dalej krucza nie mogę ogarnąć co się stanie jak np mam obiektów 100 wiec tablica ma 100 elementów i np numer 59 zostanie zniszczony a ja będę sprawdzał ludzik[58].metodakolizji co wtedy się stanie no i następne pytanie co jeżeli zgina wszyscy lub polowa a ja dorobię znowu 100 i czy np tablica będzie miała już 200 elementów i 50 (pustych martwych) czy tablica będzie miała 150 elementów? tego zagadnienia nie mogę ogarnąć.
Pozdrawiam
Można by stworzyć obiekt który dziedziczy po wszystkich klasach (...) Ale czy to dobry pomysł.
Można by stworzyć obiekt który dziedziczy po wszystkich klasach
(...)
Nie wygląda to dobrze (chyba że coś źle zrozumiałem).
np numer 59 zostanie zniszczony a ja będę sprawdzał ludzik[58].metodakolizji
Jeszcze raz napiszę: jeśli wszystko (usuwanie i sprawdzanie kolizji) odbywa się w jednym wątku, a tak jest z reguły w grach, to nic Ci się nie usunie w trakcie sprawdzania.
93,667 zapytań
142,589 odpowiedzi
323,130 komentarzy
63,193 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj
Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.