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

[Allegro 5] Kolizja obrazków

Ostatnio zmodyfikowano 2012-06-11 14:59
Autor Wiadomość
Temes
Temat założony przez niniejszego użytkownika
[Allegro 5] Kolizja obrazków
» 2012-05-18 18:56:09
Witam, mam 2 pytania dotyczące kolizji "obrazków", czyli co ma się dziać jeżeli jeden obrazek dotknie innego.

a_10_d
|........|
|........| 10
b____c

a = 0x,0y
b = 0x,10y
c = 10x,10y
d = 10x,0y

To współrzędne przeciwnika, gracz jest taki sam, ale ma inne współrzędne.

1.Czy istnieje kod, który robi coś jeżeli dwa obrazki się zetkną? Coś jak if(1 obrazek dotknie 2 obrazek), czy muszę męczyć się z obliczeniami i pisać jezeli bok |AB| przeciwnika jest równy... I tak dla wszystkich boków?

Moim zamierzeniem jest, jeżeli gracz dotknie przeciwnika to przeciwnik ginie.

2.To wszystko będzie dla jednego przeciwnika i jednego gracza... A jeżeli:
C/C++
int PRZECIWNIK[ 50 ];
int GRACZ[ 1 ];

Jak to zrobić, aby ta "kolizja" była dla każdego taka sama, ale z innymi współrzędnymi?
P-56932
szyx_yankez
» 2012-05-18 19:11:09
1. Oczywiście są funkcje odpowiedzialne za wykrywanie kolizji na forum przewijało się to dziesiątki razy, poszukaj.
2. Stwórz sobie klasę opisującą przeciwnika i potem w pętli sprawdzasz:
C/C++
class CEnemy
{
    int x;
    int y;
}
//...
CEnemy Enemy[ 50 ]
//...
for( int i = 0; i < 50; i++ )
{
    if( IsCollision( Player, Enemy[ i ] ) )
    {
        // ...
    }
}
P-56933
Temes
Temat założony przez niniejszego użytkownika
» 2012-06-07 12:49:00
Moim zamierzeniem jest takie coś:
Gdy myszka najedzie na obrazek to on się podświetla...
Jasne mam obrazek zwykły i obrazek podświetlony jako bitmapy, ale jak zrobić kolizję myszki z obrazkiem?

Oczywiście mógłbym z if'em: if x >= x <= y >= y <= ale to wtedy liczone jest jako kwadrat... A co jeżeli mam obrazek w kształcie trójkąta (jest trojkąt a reszta jest przeźroczysta - robiony obrazek w GIMPIE) i chce aby obrazek podświetlał się tylko wtedy gdy myszka najedzie na trójkąt widoczny, a nie na tło przeroczyste...

Może ktoś mi pomóc?
P-57989
waxx
» 2012-06-11 14:59:37
http://www.blackpawn.com/texts/pointinpoly/default.html
Tu masz fajny tekst, a na przyszlosc to google :>
No i nikt nie kaze ci wrzucac wszedzie wielgachnych ifow - przeciez mozna sobie ulatwic zycie i wyciagnac wykrywanie kolizji do jakichs funkcji?
P-58234
« 1 »
  Strona 1 z 1