Klasa korzystająca z drugiej Klasy
Ostatnio zmodyfikowano 2011-07-22 01:16
diego997 Temat założony przez niniejszego użytkownika |
Klasa korzystająca z drugiej Klasy » 2011-07-22 00:10:02 Mam kolejny problem stworzyłem dwie klasy w jednej znajdują się wszystkie funkcje dotyczące gracza, natomiast w drugiej znajdują się informacje na temat pocisków. I musiał bym w jakiś sposób z poziomu klasy Gracz dostać się jakoś do klasy Pociski, konkretnie chciałbym skorzystać z funkcji które są umieszczone w tej klasie. Da się to zrobić ? |
|
malan |
» 2011-07-22 00:19:08 Dać się da. To, jak to powinno się zrobić zależy od sytuacji. Więc, co chcesz osiągnąć? :) |
|
akwes |
» 2011-07-22 00:19:34 Da. Tylko trzeba by wskaźnikami mocno manipulować. class Pocisk { Pocisk( int ); int sila; };
Pocisk::Pocisk( int s ) { sila = s; }
class Gracz { int hp; Pocisk * bulet; Gracz(); int JakaSila(); };
Gracz::Gracz() { bulet = new Pocisk( 3 ); }
int Gracz::JakaSila() { return bulet->sila; }
Gracz * player = new Gracz(); player->bulet = 3;
player->bulet->foo();
Wszystko bardzo schematycznie, pominąłem konsturktory... a muszą być :P // edit juz sa |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-22 00:27:46 Może napiszę co chce zrobić.
W klasie Gracz zawarte są funkcje takie jak tworzenie postaci, poruszanie postacią, wyświetlanie oraz strzelanie.
Natomiast w klasie Pociski jest funkcja tworząca pocisk.
I teraz chciałbym aby funkcja Strzelanie ustawiła pocisk(Utworzony z klasy Pociski czyli musiał bym mieć tam dostęp a nie wiem jak go uzyskać) na środku postaci. Na razie tyle :D
|
|
kamillo121 |
» 2011-07-22 00:32:03 To tworzysz w tej metodzie "strzał" obiekt pocisk, ustawiasz sobie parametry i wyrzucasz gdzieś ten pocisk albo zwracasz metodą. Możesz to jeszcze inaczej zrobić, np metoda "strzał" zgłasza, że potrzebuje pocisku o takich i takich parametrach jakiejś innej funkcji która zajmie się samym procesem tworzenia(funkcja niezwiązana z klasą). |
|
waxx |
» 2011-07-22 00:33:51 void CPlayer::Shoot()
{
sf::Vector2f positionBullet = cokolwiekchcesz;
CBullet* b = new CBullet(positionBullet);
//i wrzucasz tego twojego bulleta do twojego obj managera czy gdzie tam masz
} |
|
akwes |
» 2011-07-22 00:34:15 Hm... No dobrze, ale przede wszystkim
Ile pocisków może wypuścić jedna klasa Gracz? Czy wszystkie klasy, mogą wypuścić tylko jeden pocisk? Czy inne klasy mogą wypuścić pocisk? Jeden czy kilka? Bo inaczej robi się karabin (lista, tablica, vector) a inaczej jak ma być jeden (wtedy można pokombinować bez list, tablic itd :P) |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-22 00:36:37 Maxymalnie 5 może być widocznych na ekranie, jak któryś wyjdzie za ekran to znowu może strzelić.
P.S Czyli ma rozumieć, że na same tworzenie pocisków nie potrzeba robić nowej klasy ? |
|
« 1 » 2 |