Pstrykanie objektu po wyjsciu poza ramkę
Ostatnio zmodyfikowano 2012-11-25 20:33
tirou Temat założony przez niniejszego użytkownika |
Pstrykanie objektu po wyjsciu poza ramkę » 2012-11-25 15:42:22 Witam, nie umiem dokladnie nazwac tematu wiec opiszę go. Otóż mam problem, gdyż objekt wychodzi poza wymiary ramki, próbuje ustawic go na taka pozycje aby stał w miejscu przed koncem ramki, tlyko nie moge rozgryźć problemu, dlaczego element nie ustawia się w wybrane miejsce tlyko pstryka (wydaje mi się iż w rytm wykonywania sie petli). Poruszanie się elementu mam wykonane w switchu : case dol: { sprajt2.Move( 0, App.GetFrameTime() * speed ); if( sprajt2.GetPosition().y > App.GetHeight() ) sprajt2.SetY( App.GetHeight() - sprajt2.GetSize().y ); break; }
Dodam, że pstryka jedynie po przechodzeniu prawej i dolnej krawedzi. Gorna i lewa robi to co sie jej kaze. Sprite stoi w miejscu. case gora: { sprajt2.Move( 0, - App.GetFrameTime() * speed ); if( sprajt2.GetPosition().y <= 0 ) { sprajt2.SetPosition( sprajt2.GetPosition().x, 0 ); } break; }
|
|
Savail |
» 2012-11-25 16:35:31 Pewnie dlatego, że ustawiasz na pozycję App.GetHeight() - sprajt2.GetSize().y ale dopiero wtedy gdy przekroczy App.GetHeight() A więc warunek powinien wyglądać tak: if( sprajt2.GetPosition().y > App.GetHeight() - sprajt2.GetSize().y ) sprajt2.SetY( App.GetHeight() - sprajt2.GetSize().y ); |
|
Mrovqa |
» 2012-11-25 16:53:25 @Savail zauważ, iż w międzyczasie sprite nie jest rysowany, więc to nie może być powodem, no chyba, że SFML ma dziwnego buga. |
|
DejaVu |
» 2012-11-25 16:54:19 Omg... w jakim kursie uczą nazewnictwa 'objekt'? to jest co najwyżej OBIEKT. |
|
Savail |
» 2012-11-25 17:07:30 @Mrowqa jakoś nie mogę zauważyć tu rysowania lub jego brak :P, chociaż pewnie dlatego, że się nie znam na SFML'u.
@tirou Jeśli tamto nie rozwiązało problemu, to sprawdź zgodność typów zmiennych które porównujesz. Lepiej, żeby były tego samego typu aby uniknąć takich niespodzianek później ;) |
|
tirou Temat założony przez niniejszego użytkownika |
» 2012-11-25 20:33:33 Faktycznie problem z warunkiem byl. Dziekuje za pomoc.
@Deja Vu : tak to jest jak sie czlowiek nie moze zdecydowac na object albo obiekt. |
|
« 1 » |