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

[SFML 2.0] i znów Kolizje

Ostatnio zmodyfikowano 2012-11-15 15:58
Autor Wiadomość
ridic14
Temat założony przez niniejszego użytkownika
[SFML 2.0] i znów Kolizje
» 2012-11-13 19:35:18
Wiem że na forum jest już co najmniej 10 tematów o tym, więc przepraszam, ale coś sobie nie mogę poradzić...

Chodzi mi o kolizje przy widoku z góry więc mam coś takiego:

C/C++
if( x > 400 && x < 500 ) right = false;
//if(x < 500 && x > 400) left = false; << not found  :| \/\/ ( ) /\/
if( y > 400 && y < 500 ) down = false;

Zakładamy że to kwadrat 100x100
Jak można to zrobić dla lewej i góry?
P-69160
Mrovqa
» 2012-11-13 21:18:47
C/C++
if( x > 400 && x < 500 ) left = false;

if( y > 400 && y < 500 ) up = false;

Widzę, że nawet nie wiesz, co piszesz... To jest banalne.
P-69186
ridic14
Temat założony przez niniejszego użytkownika
» 2012-11-13 21:44:23
C/C++
if( y < 400 && y > 500 ) up = false;

if( y > 510 && y < 410 ) down = false;

if( x < 400 && x > 500 ) right = false;

if( x > 510 && x < 410 ) left = false;

Tak mogło by być ale i tak nic nie daje to
P-69190
SeaMonster131
» 2012-11-14 14:47:11
C/C++
if( y > 510 && y < 410 ) down = false;

if( x > 510 && x < 410 ) left = false;

Jak y/x może być jednocześnie większe od 510 i mniejsze od 410 ?
P-69233
ridic14
Temat założony przez niniejszego użytkownika
» 2012-11-14 16:50:33
Nie chodzi mi o samo sprawdzenie czy zaistniała kolizja bo wtedy do tego jest w sfml : sf::FloatRect::interects

tylko o to że chcę się dowiedzieć gdzie zaistniała kolizja(z której strony) i nie pozwolić dalej poruszać się (postaci, potworowi)

Dlaczego to jest takie głupie że w 3d wystarczy dać collider i są kolizje a w 2d jest 1000x trudniej
]
A nawet jeśli próbuję to znajduje do sfml 1.6 http://www.sfml-dev.org/wiki/en/sources/simple_collision_detection
ciężko to na sfml 2.0 przetłumaczyć Choć nie o to chodzi bo to też sprawdza tylko czy kolizja jest ale nie podaje skąd

Mam pytanie:
Jak obliczyć wysokość i szerokość tego na rysunku?

null
Jeśli to obliczę to po prostu będę przy kolizji cofał o tyle ile wynosi collisionRectangle

P-69245
bingo009
» 2012-11-14 18:14:44
Zdaję się, że pomyliłeś
&&
 z
||
. Jedno łączy wyrażenia(wszystkie muszą być prawdziwe, aby warunek if zadziałał), a drugie to jest jakby alternatywa(conajmniej jeden warunek musi być prawdziwy, aby if zadziałał).
P-69251
ridic14
Temat założony przez niniejszego użytkownika
» 2012-11-14 18:48:02
P-69260
SeaMonster131
» 2012-11-14 19:52:47
Wydaje mi się, że po prostu porównuje pozycje "gracza" z pozycją każdego z obrazków, a takich tematów jest naprawdę sporo..
P-69266
« 1 » 2
  Strona 1 z 2 Następna strona