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

[Allegro, C++] Tworzenie "ściany".

Ostatnio zmodyfikowano 2010-05-24 23:58
Autor Wiadomość
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 10:48:28
Zrobiłem taki warunek i ściana nie przepuszcza kropki:
C/C++
if( kropka_x >= linia_x && kropka_x <=( linia_x + 190 ) && kropka_y >= linia_y && kropka_y <=( linia_y + 1 ) ) {
}
Chciałem tylko zapytać czy myślę w dobrym kierunku, czy powinienem jeszcze poszukać i pokombinować nad innym rozwiązaniem?

Jak na razie kolizja działa ale nie wiem jak z tym będzie na dłuższą metę.
P-16964
DejaVu
» 2010-05-19 12:05:11
Najwięcej nauczysz się na własnych błędach, więc po prostu próbuj.
P-16976
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 12:43:00
Jeśli np. chcę zrobić ten labirynt, to muszę dla każdej ściany tworzyć nową bitmapę i dla każdej nowej bitmapy warunek, tak?
P-16989
DejaVu
» 2010-05-19 12:48:06
Można tak, można inaczej - wiedza i zdobyte umiejętności decydują o tym jak rozwiązujemy problemy w programowaniu.
P-16991
dmx81
» 2010-05-24 23:58:26
a co, jesli prosta bedzie ukosna? musisz nad tym pomyslec - najlepiej miec swoja funkcje rysujaca prosta dla podanych punktow wg rownania prostej i sprawdzic, czy wyznacznik dla punktu przed i po ruchu ma rozne znaki - jesli tak, znaczy, ze linia zostala przekroczona - czyli doszlo do kolizji, jesli wyznacznik ma ten sam znak - znaczy sie, ze nie doszlo do przekroczenia linii - znak wyznacznika sprawdzisz np mnozac je wzajemnie przez siebie i jesli <0 wtedy kolizja, wyznacznik oczywiscie dla pkt A,B i twojego punktu przed ruchem, pozniej A,B i punktu po ruchu

proponuje takze sprawdzic o co w tym chodzi na wikipedii pod haslem rownanie prostej lub prosta

oczywiscie rysowana prosta nie jest idealna, bo przeskoki sa co 1 pixel, a idealna prosta miedzy 0 a 1 ma nieskonczenie wiele punktow, wiec trzeba dorzucic swoja tolerancje (jesli np punkt ma wartosc x 1.49 to bedzie sie swiecil pixel x=1, a jesli 1,51 to pixel x=2 - chociaz to tez zalezy od tego jak napiszesz funkcje rysujaca prosta, chyba ze uzyjesz z allegro line, ja napisalem swoja a do tego dorzucilem odbijanie sie pod odpowiednim katem, punkt porusza sie w wielokacie i odbija od scianek - niby prosto brzmi... a jest z tym nieco roboty - oczywiscie dla mniej wtajemniczonych, czyli takich jak ja, ale juz calkiem niezle wyglada, jak skoncze, to wrzuce kodzik ;) )
P-17134
1 « 2 »
Poprzednia strona Strona 2 z 2