Kollisionen allgemein
Übersicht

![]() |
GeeeckoBetreff: Kollisionen allgemein |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wieder mit meinen allgemein Problemen ![]() Naja... Ich habe mich mal daran gemacht, an kollisionen. toller deutscher satz ![]() Hier ist ein Bild: Das ist jedoch sehr langsam. Wie könnte man solch eine methode schneller machen? (Die weißen balken sind die kollisions-stellen, und der rote klotz der spieler) wenn man überprüft, ob sich der spieler und der kolli-balken in der nähe befinden (So wie bei tiles, wo man nur die um den spieler herumprüft), kann man auch gleich rechnen, ob sie kolidieren, oder? |
||
.... |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich habe dazu immer diesen quelltext von TheShadow herrangezogen.
ist auf blitzbase.de zu finden. http://www.blitzbase.de/quellc...reuzung.bb |
||
between angels and insects |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, diese Vektorkollission kann man nutzen, aber da in diesem Fall hier sowohl Spieler als auch Kollissionsobjekte rechtwinklig sind, kann ich mir gar nicht vorstellen, was in dem Fall überhaupt lange dauern soll.
Aber natürlich kann man erst Mal alle Rechtecke ausschließen, die mehr als 10 Pixel oder so entfernt sind. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
SAT Kollisionssystem implementieren könnt hier beträchtlich helfen ![]() Falls du BM hast gehts allerdings noch einfacher: Spieler nur Collision Read, Blöcke nur Collision Write Und nie ClearCollisions und schon wirds EXTREM schnell sein ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, ich habe BMAX. Aber mit den Kollisionen dort habe ich mich noch nicht auseinander gesetzt. also schon aber ich wusste nicht das es sowas da gibt O.o
Ich werde mir das mal anschauen und das von Robsite. Thx |
||
.... |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BM Collision -> Assari Tutorials ansehen.
Extrem empfehlenswert die 3 Teile ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verstehe das nicht mit diesem
Code: [AUSKLAPPEN] Local p:Object[]=CollideRect(MouseX()-w,MouseY()-h,100,100,1,0) For Local i:TImage=EachIn p If ImagesCollide(i,150,200,0,SpaceShip,MouseX(),MouseY(),0) SetClsColor 255,0,0 Else SetClsColor 0,0,0 EndIf Next nicht. (Part 3). Was liefert er denn wenn ich gar kein bild habe? |
||
.... |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du wo kein Bild hast?
Bei dem? Dann loopt er ganz einfach nicht. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Horst der Biber |
![]() Antworten mit Zitat ![]() |
---|---|---|
meister_dieb:
mit colliderect kannst du erst ma ganz grob überprüfen mit welchen objekten dein spaceship kollidieren könnte. es gibt dir nämlich ein array zurück das alle objekte enthält die das rechteck überlappt. dann kannst du noch ma pixelgenau mit imagescollide prüfen. |
||
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber ich habe ja keine Bilder. Nur Rechtecke. | ||
.... |
![]() |
Horst der Biber |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja dann schreib am besten gleich anfang deine map auf ne kollisionsmaske
Code: [AUSKLAPPEN] colliderect(x,y,w,h,0,1)
und prüf dann ob dein spieler damit kollidiert Code: [AUSKLAPPEN] if colliderect(playerx,playery,playerw,playerh,1,0) then playerx=oldx;playery=oldy
wie dreamora eig schon ganz am anfang gesagt hat... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group