Dawka83 Opublikowano 27 Grudnia 2012 Udostępnij Opublikowano 27 Grudnia 2012 Cześć chciałem się zapytać, a raczej poradzić jak można by było zrobić listę obiektów na mapie. Coś jak w gm. Czyli tworze sb klase itp każda o takim samym schemacie. Czyli zawiera w sobie dajmy te 3 funckje step, create, draw. Następnie w odpowiednich eventach przelatuje te obiekty pętlą i je uaktualniam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 27 Grudnia 2012 Udostępnij Opublikowano 27 Grudnia 2012 Tworzysz sobie abstrakcyjną klasę GameObject i umieszczasz w niej abstrakcyjne metody typu Step, Draw etc. Tworzysz nową klasę, np. ObjHero i dziedziczysz po GameObject, a następnie overridujesz metody typu step, draw itd. Później gdzieś tworzysz listę złożoną z GameObjectów i przelatujesz każdy obiekt pętlą, np. foreach, i wywołujesz metody. @EDIT Ewentualnie możesz użyć interfejsów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 27 Grudnia 2012 Autor Udostępnij Opublikowano 27 Grudnia 2012 Hmm a wydaje mi się że interfejsy bd tu prostsze, tylko mi się wydaje? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 27 Grudnia 2012 Udostępnij Opublikowano 27 Grudnia 2012 No będą prostsze, ale jeśli będziesz zamierzał rozbudować klasę bazową, np. o pozycję obiektu, prędkość, itp. to tylko klasa abstrakcyjna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 27 Grudnia 2012 Autor Udostępnij Opublikowano 27 Grudnia 2012 No ale czy to się czymś różni? :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 27 Grudnia 2012 Udostępnij Opublikowano 27 Grudnia 2012 W interfejsie możesz tylko deklarować metody, a w klasie abstrakcyjnej wszystko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 27 Grudnia 2012 Autor Udostępnij Opublikowano 27 Grudnia 2012 no tak wiem rozumiem. A i jeszcze pytanie jak sprowadzić potem te wszystkie klasy z interfejsem do wspólnego kontenera? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 27 Grudnia 2012 Udostępnij Opublikowano 27 Grudnia 2012 List<GameObject> obiekty = new List<GameObject>(); obiekty.Add(new ObjHero());//ObjHero i ObjWall dziedziczą po GameObject/implementują interfejs GameObject (w zasadzie to powinno być IGameObject) obiekty.Add(new ObjWall()); //gdzieś w update gry foreach(GameObject obj in obiekty) { obj.Step(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 28 Grudnia 2012 Autor Udostępnij Opublikowano 28 Grudnia 2012 Bardzo ci dziękuje za pomoc. Już wszystko zrozumiałem, sprawdziłem, zaimplementowałem w projekcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się