Funkcja zawarta w funkcji innej klasy
Ostatnio zmodyfikowano 2011-07-22 12:30
diego997 Temat założony przez niniejszego użytkownika |
Funkcja zawarta w funkcji innej klasy » 2011-07-22 12:07:16 class Enemy { public: sf::Shape Alien; };
class EnemyBullet { public: sf::Shape Naboj; void tworzenie(); void rdy(); void strzal( Enemy * obcy ); };
void EnemyBullet::rdy() { if( Naboj.GetPosition().x == - 30 ) { strzal( this ); } }
void EnemyBullet::strzal( Enemy * obcy ) { Naboj.SetPosition( obcy->Alien.GetPosition().x, obcy->Alien.GetPosition().y ); }
Chciałem aby najpierw wykonywana była funkcja rdy() ktora sprawdza czy pocisk znajduje sie na pozycji -30 (Przy tworzeniu pocisku tworzenie(), zostanie on tam przeniesiony) jeżeli tak to(strzal();) czyli ustaw go w miejscu w ktorym znajduje sie alien. Kod nie chce sie skompilować pewnie musiał bym coś przesłać jakiś argument do rdy zapewne np. EnemyBullet kula rdy(&kula) ale nie wiem jak to zdefiniować. Możecie mi pomóc 154 raz z kolei ;p? |
|
waxx |
» 2011-07-22 12:13:52 Czemu pocisk strzela?
class Enemy {
sf::Vector2f position;
void Shoot(); //tu sprawdzasz czy moze enemy strzelic jak tak to stworzysz CBullet i w konstruktorze sobie przekazesz pozycje
};
class CBullet {
CBullet(sf::Vector2f position); //a tutaj ustawiasz pozycje...ofc dodasz sobie jeszcze zeby w konstruktorze jakis wektor kierunku podawac/kat czy cokolwiek
} |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-22 12:30:16 Zrobiłem to trochę inaczej
P.S w sumie racja czemu pocisk strzela ;p |
|
« 1 » |