Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Przechowywanie obiektów gry w kontenerach tablicy (wektorach)

Ostatnio zmodyfikowano 2015-04-17 09:35
Autor Wiadomość
akwes
» 2015-04-17 09:17:14
Jak trzymasz obiekty to już teraz masz błąd.

Niestety po angielsku:
http://stackoverflow.com​/questions/274626​/what-is-object-slicing
http://en.wikipedia.org/wiki​/Object_slicing

Ale nie musisz rezygnować ze wspólnego wektora jeżeli nie chcesz.

C/C++
vector < GameObject *> objects;
vector < GamePlant *> plants;

// ...

Game::Physics::TestColisions( objects );

// ...

for( auto plant: plants )
     plant.grow( x );


Wszystko co wspólne będzie wykonane we wspólnym wektorze, natomiast akcje specjalne dla specjalnych obiektów mogą być wykonane w osobnych kontenerach. Aczkolwiek powinno dać się wszystko zrobić we wspólnym interfejsie.

Wiele wektorów albo sortowany według typu wektor to kwestia nie projektowa ale wydajnościowa. Projektowo wygodniej mieć wspólną listę, wydajnościowo lepiej mieć to rozbite lub sortowane.
P-131041
Patrycjerz
Temat założony przez niniejszego użytkownika
» 2015-04-17 09:20:28
Czyli jak rozumiem, to obiekty specjalne, np. Gracz będzie miał swojego reprezentanta (wskaźnik) i w tym, i w tym wektorze? Jeśli tak, to powinno to zadziałać :)
P-131042
Patrycjerz
Temat założony przez niniejszego użytkownika
» 2015-04-17 09:35:49
Dziękuję wszystkim za odpowiedzi oraz za fachową i szybką pomoc. Przez zrozumienie kilku spraw dostałem "kopniaka", aby robić tę grę :)

Temat uważam za zamknięty.
P-131043
1 « 2 »
Poprzednia strona Strona 2 z 2