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

[Allegro] Jak uniemożliwić ludkowi opuszczenie ekranu?

Ostatnio zmodyfikowano 2008-12-17 15:05
Autor Wiadomość
MaThEo
Temat założony przez niniejszego użytkownika
[Allegro] Jak uniemożliwić ludkowi opuszczenie ekranu?
» 2008-10-31 00:33:52
Witam:)

Chcialem sie zapytac jak mozna ustawic aby ludek nie wychodzil poza ekran tzn gdy przejade nim do jakiej kolwiek krawedzi to on wyjezdza(znika) ... czy jest jakis sposob aby to ustawic zeby tak nie bylo?? aha i jeszcze jedno jak mozna ustawic aby ludek chodzil tylko po dole ekranu a nie latal po calym:D

P-2387
DejaVu
» 2008-10-31 01:01:35
Hm... takie powtarzające pytania zaczynają być męczące. Aby ludek nie mógł wyjść poza obrszar ekranu należy dopisać warunki:
C/C++
if( ludek.x < 0 ) ludek.x = 0;

if( ludek.x > ekran.szerokosc - ludek.szerokosc ) ludek.x = ekran.szerokosc - ludek.szerokosc;

Zmienne są na tyle jasno nazwane, że pytanie w stylu 'co oznacza zapis' zignoruję.
P-2388
DejaVu
» 2008-10-31 01:03:25
Pytanie drugie jest retoryczne, jednak odpowiem: nie zmieniać pozycji ludka w osi Y i ustawić wysokość na jakiej ma być rysowany.
P-2389
jimmye
.
» 2008-12-16 17:12:17
Ja to robilem jeszcze w inny sposob, zalozmy ze nasz ekran jest wielkosci 300x500 wtedy
C/C++
if( ludek.X >= 300 )
{
    ludek.X -= 1;
}
if( ludek.X <= 0 )
{
    ludek.X += 1;
}

tak samo dla osi Y.
Mysle ze tamta metoda jest lepsza :P
P-2765
lynx
» 2008-12-16 19:54:24
Właściwie to twój kod, między kodem Piotra niczym się nie różni, idea myślenia jest podobna. Myślę, że na tej pierwszej kolizji(z końcem ekranu) się nie zatrzymasz tylko będziesz chciał bardziej zaawansowane np. pomiędzy jednym kwadratem, a drugim. :D A więc podam Ci http://www.easykoder.yoyo.pl/index.php?mm=kol do artykułu o kolizjach, mam nadzieję że Ci się przyda.
P-2773
jimmye
» 2008-12-17 14:55:57
No jak moge nie znac strony Easykodera :D w koncu to od jego poradnika na ddt zaczynalem z allegro :P
a poza tym, da sie zrobic zeby to bylo takie bardziej dynamiczne? bo dziwnie to wyglada jak wlacze ta gre i prubuje za ekran to go telepie :D da sie tak zeby poprostu go zatrzymywalo jakby stanal przy scianie jakiejs? :P
P-2788
DeBugger
» 2008-12-17 15:05:53
Ustaw sobie obiekt, który ma nie kolidowac ze ścianąm gdzieś w środku(lub tam, gdzie nie koliduje), i spróbuj czy ekran się trzęsie.
P-2789
« 1 »
  Strona 1 z 1