schneller collision abfrage
Übersicht

hitokiriBetreff: schneller collision abfrage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hab da gerade so nachgedacht zwecks bullets erstellen und collision checken in 2D.... angenommen ich habe 2 enemy types auf dem bildschirm, wären und ich wüsste die width und die position der bullets, die der enemies weiss ich ja om typ her, anstatt nem imagesoverlap erstmal nur zu prüfen ob überhaupt von der y koordinate her theoretisch bullet mit enemy überlappt bevor ich ein imageoverlap mache ?
(hoffe irgendjemand versteht was ich sagen will) |
||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was du machen willst habe ich verstanden. Deine Frage jedoch nicht...
Die von dir beschriebene Methode ist möglich und so kannst du sicherlich etwas Rechenzeit sparen. |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
;rock height = 100
;bullet height = 50 For b.bullets= Each bullet For r.rock = Each rock If b\y >=r\y And b\y <= r\y+50 Then imageoverlap oder nochmal das gleiche spiel mit x das wär mal beispielcode für bullet type und rock type. sinnvoll oder rechenzeit zuwachs minimal ? unsinn--- rechenzeit verringerung natürlich ![]() |
||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Probiers aus. Speichere dazu den Wert, den Millisecs() zurückgibt in eine Variable, ermittle in eine For-Next Schleife x-mal, ob eine Kollision stattfindet. Ziehe dann die Variable von vorher von dem neuen Millisecs()-Wert ab. Jetzt hast du die Zeit, die die Kollisionsüberprüfung benötigt. Und das gerade beschriebene wendest du für beide Kollisionsüberprüfungen an, und vergleichst.
BlitzBasic: [AUSKLAPPEN] t1=MilliSecs() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Okay, werd ich mal machen. Dachte, dass es vielleicht irgendwo schonmal jemand ausprobiert hat und ich mir die tipp arbeit sparen kann ![]() Hab mir mal Shadows Speedoptimierungstut angeschaut aber da stand nichts drüber drin, wollte einfach nur wissen ob das schneller ist als rectoverlap. denn bei rectoverlap oder imageoverlap hätte ich ja nur ein for next, hier ja für x zwei falls y overlapped. |
||
hitokiri |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und noch ne hypothetische frage....
nehmen wir das beispiel 2D shooter vertikal scroller, gegner kommen von rechts, dann könnte ich doch theoretisch ,wenn ich bullet als type habe und eh die bullets auf collision checke, das vor dem ship / alien collision überprüfen, und wenn dann der first bullet keine collision hatte davon ausgehen dass der player auf keinen fall mit irgendwas zusammenstösst das von rechts kommt, höchstens wenn noch was hinter ihm ist und er zurückfliegt, also mir die player kollisions überprüfung in dem beispiel komplett sparen wenn ich ne flag auf 1 setze wenn first bullet nicht mit irgendwas zusammengestossen ist...oder ? (hoffe irgendjemand blickt auch was ich damit meine) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group