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

Klasa korzystająca z drugiej Klasy

Ostatnio zmodyfikowano 2011-07-22 01:16
Autor Wiadomość
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ć ?
P-36547
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ąć? :)
P-36548
akwes
» 2011-07-22 00:19:34
Da.

Tylko trzeba by wskaźnikami mocno manipulować.

C/C++
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;
}

//z poza klasy Gracz:
Gracz * player = new Gracz();
player->bulet = 3;
// albo do jakiejs funkcji jakby była :P

player->bulet->foo();

Wszystko bardzo schematycznie, pominąłem konsturktory... a muszą być :P

// edit juz sa
P-36549
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


P-36551
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ą).
P-36552
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
}
P-36553
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)
P-36554
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 ?
P-36555
« 1 » 2
  Strona 1 z 2 Następna strona