Obiekt gry ze składem i CCSpriteBatchNode

Obecnie tworzę grę z cocos2d i box2d na iPhone.
Przeczytałem wiele artykułów dotyczących organizacji kodu gry, struktury obiektów gier itp. Najpierw zacząłem rozwijać moje obiekty gry, dziedzicząc z samej klasy podstawowej dziedziczącej z CCSprite. Miałem CCSpriteBatchNode, aby narysować wszystkie elementy gry, z którymi gracz może wchodzić w interakcję, w jednym wywołaniu. Było to łatwe, ponieważ moja klasa elementów pośrednio dziedziczy z CCSprite, dzięki czemu mogłem łatwo dodawać moje elementy do CCSpriteBatchNode. Poza tym mogłem polegać na cocos2d, aby zachować moje obiekty.

Po przeczytaniu artykułów zrozumiałem potrzebę refaktoryzacji mojego kodu w stylu bardziej zorientowanym na kompozycję niż w stylu dziedziczenia. Poszedłem więc z klasą bazową GameObject dziedziczoną z NSObject i mającą takie właściwości, jak jeden lub więcej CCSprite, jeden b2Body itp.

Problem, przed którym teraz stoję, polega na tym, że nie mogę już bezpośrednio dodać mojego GameObject do CCSpriteBatchNode. Najpierw pomyślałem, że mogę łatwo rozwiązać problem, dodając właściwość sprite GameObject do CCSpriteBatchNode. Jest dobrze, ale kto zachowuje obiekt będący właścicielem CCSprite? Jak mogę łatwo uzyskać dostęp do oryginalnego obiektu z CCSprite (czy są to dane użytkownika / obiekt ok)?

Czy powinienem utworzyć tablicę zachowującą moje przedmioty? Chciałbym wiedzieć, jak używać CCSpriteBatchNode z taką strukturą obiektu gry?

Jest jużwątek o tym, co jest bez odpowiedzi i naprawdę chciałbym usłyszeć o tym temacie. Nie jest to prosta odpowiedź, ale niektóre elementy idą dalej.

Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion