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

Stykanie się obiektów w SFML

Ostatnio zmodyfikowano 2012-07-18 13:57
Autor Wiadomość
starter
Temat założony przez niniejszego użytkownika
Stykanie się obiektów w SFML
» 2012-07-17 19:42:43
Witam,
od jakiegoś czasu pracuje nad prostymi programami korzystającymi z biblioteki SFML.
W większości z nich potrzebuje wiedzieć czy dwa kształty (sf::Shape, nie zawsze takie same, często koło i inny wielokąt) stykają się. W tym celu tworze długie tablice przechowujące współrzędne, oraz długie warunki z tymi współrzędnymi. Zastanawiam się jak to uprościć. W grę wchodzi np. jeden, symetryczny w osi Y, 10-kąt, oraz 50 kół. Chce sprawdzić czy któreś z kół styka się z wielokątem. Każdy kształt startuje z innej współrzędnej, koła przesuwają się do końca ekranu i cofają na pozycje startową, a wielokątem się porusza przy pomocy strzałek.

Na razie mam 900 linijek samych tablic ze współrzędnymi.

Proszę o pomoc w dość prostym języku, gdyż programuje dopiero od 3-4 mies.
Dzięki! :-)

P.S. Korzystam z SFML 1.6 i Code::Blocks 10.05
P-60405
SeaMonster131
» 2012-07-18 10:50:26
Na razie mam 900 linijek samych tablic ze współrzędnymi.
o.O

Ogólnie wygląda to np tak:
C/C++
for( int i = 0; i < ilosc_kol; i++ )
{
    if( kolizja( jedenObiekt, kolo[ i ] ) )
         KOLIZJA;
   
}

ilosc_kol to ilość obiektów (tych kół), kolo[i] to konkretny obiekt (koło), jedenObiekt to ten 10 kąt.
P-60438
m4tx
» 2012-07-18 10:53:43
Na razie mam 900 linijek samych tablic ze współrzędnymi.
Może rozważ przechowywanie tego w pliku? Albo - jeśli to regularne kształty takie jak np. koło - generuj te współrzędne?
P-60439
mati1qazxsw2
» 2012-07-18 11:45:58
od jakiegoś czasu pracuje nad prostymi programami korzystającymi z biblioteki SFML.

Na razie mam 900 linijek samych tablic ze współrzędnymi.

Proszę o pomoc w dość prostym języku, gdyż programuje dopiero od 3-4 mies.

Waść skończ i wstydu oszczędź.
P-60443
starter
Temat założony przez niniejszego użytkownika
Ogólnie wygląda to np tak:
» 2012-07-18 11:52:00
A co oznacza w ifie "kolizja"?
To ma być funkcja zadeklarowana w programie, czy funkcja dostepna w bibliotekach SFML?
P-60445
mati1qazxsw2
» 2012-07-18 11:54:37
Oznacz to, że wywoływana jest funkcja, która zwraca, gdy kolizja, true lub false, gdy jej nie ma.

#edit Pomyśl, od kiedy sfml jest po polsku.
P-60448
starter
Temat założony przez niniejszego użytkownika
» 2012-07-18 12:00:19
Sory, teraz już kumam.
P-60450
SeaMonster131
» 2012-07-18 13:54:40
Tak, dokładnie. W ten sposób pozbędziesz się 900 linijek współrzędnych.
P-60465
« 1 » 2
  Strona 1 z 2 Następna strona