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

Pstrykanie objektu po wyjsciu poza ramkę

Ostatnio zmodyfikowano 2012-11-25 20:33
Autor Wiadomość
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 :

C/C++
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.
C/C++
case gora:
{
    sprajt2.Move( 0, - App.GetFrameTime() * speed );
    if( sprajt2.GetPosition().y <= 0 )
    {
        sprajt2.SetPosition( sprajt2.GetPosition().x, 0 );
    }
   
    break;
}
P-69854
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 );
P-69858
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.
P-69860
DejaVu
» 2012-11-25 16:54:19
Omg... w jakim kursie uczą nazewnictwa 'objekt'? to jest co najwyżej OBIEKT.
P-69861
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 ;)
P-69866
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.
P-69885
« 1 »
  Strona 1 z 1