Rect linien Kollision

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

ToeB

Betreff: Rect linien Kollision

BeitragDo, Jan 15, 2009 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich brauche mal ne Function, die eine linie x1,y1,x2,y2 mit einem Rechteck x,y,w,h prüft... Oder muss ich das viermal LineIntersect nehmen ?

Oder kennt ihr ne andere lösung hierfür :
Ich habe einen player der schießen kann.wenn ich schieße, soll der schuss nicht fliegen sondern sofort im ziel eintreffen. Das habe ich so gelöst, das ich mit Sin/Cos den winkel von 0 bis 1000 (in 8er schritten) durchgehe, dann errechne welches Tile darunter liegt und wenn ein Collisionstile darunter liegt so dort dann z.B ein einschussloch gemalt werden. Das geht noch so einigermaßen, weil ich ja genau die position des darunter liegenden tiles weiß. Jetzt hab ich aber andere spieler die auch abgetroffen werden möchten. aber die Position sind ja immer verschieden ! Wie könnt ichs anders machen, so dass es schneller ist und genauer ?

mfg TeoB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Goodjee

BeitragDo, Jan 15, 2009 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
was spricht gegen 4 lininenkollisionen?
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

tedy

BeitragFr, Jan 16, 2009 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
bei einem Viereck würden auch 2 LineIntersect reichen indem du einfach die Gegenüberliegenden ecken mit einander verbindest
01010100 01100101 01000100 01111001 00100000 00111010 01000100

TimBo

BeitragFr, Jan 16, 2009 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

2 Lines werden ungenau ..

die linie kollidiert nicht.

Mache doch einfach 4x LineIntersect. Das wird schon nicht alzulangsam sein. Die Funktion ist sehr schnell, ob sie 2 oder 4 mal ausgeführt merkt keiner. 2 mal ist aber wie gesagt ungenauer

Edit: wird der Schuss als Bewegendes objekt behandelt, dann 4 Linien. Wenn die Linie jedoch die Schussrichtung ist um zu schauen, ob ein Spieler vom Schuss getroffen würde, dann reichen 2 Linien auch.

Viele Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group