1 Ostatnio edytowany przez siudym (2020-01-06 13:43:41)

Mam problem ze napisaniem kodu sprawdzającego przecięcie się ukośnej osi dwóch obiektów (sprites).
Sprawdzenie po liniach prostych (Y/X) jest bardzo proste, jednak linie po skosie nie mogę ogarnąć.


Sprawdzenie czy OBJ1 jest z lewej/prawej i dolnej/górnej strony OBJ2 (proste) -
https://i.postimg.cc/jdDKrBQd/obrazek1.png

OBJ2 porusza się w prawą-górna stronę, jak sprawdzić czy OBJ1 znajduje się po lewej-górnej i prawej-dolnej stronie? -
https://i.postimg.cc/65FK6zYV/obrazek2.png

Post's attachments

obrazek1.png 15.73 kb, nikt jeszcze nie pobierał tego pliku. 

obrazek2.png 5.97 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

2

może tak

Post's attachments

rect_overlap.obx 2.55 kb, liczba pobrań: 4 (od 2020-01-06) 

rect_overlap.pas 2.1 kb, liczba pobrań: 4 (od 2020-01-06) 

Tylko zalogowani mogą pobierać załączniki.
*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

3

Jeśli oś jest nachylona pod kątem 45 stopni (czyli jest postaci y=x+b jak na obrazku) to wystarczy odjąć X od Y (czyli Y-X i porównać z b - jeśli równe to masz na osi, jeśli większe od b - to ponad, jeśli mniejsze, to poniżej. dla y=-x+b będziesz miał podobnie tylko trzeba dodać Y+X. Dla innych nachyleń - to już inna bajka (jakieś skalowanie zapewne wymagane)

Pamięć studenta ma charakter kwantowy - student wie wszystko, ale jednocześnie nic nie pamięta.
- Kilka(naście?) pudełek z klawiszami i światełkami. I jeden Vectrex, żeby nimi wszystkimi rządzić.