Collisions proplem
Übersicht

![]() |
SYSThernBetreff: Collisions proplem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Wie der Titel schon sagt hab ich ein proplem mit der kollision: In meinem Spiel Jump_Racer gibt es Punkte (sogenannte Points) die man einsammeln muss um das Level zu beenden. Bisher hat alles gut funktioniert bis ich eine Explosion einbaute, also wenn man z. B. in Lava fährt oder mann zu weit nach unten fliegt und aufprallt , dass mann explodiert. Jetz ist mir aufgefallen das, wenn ich einen Point einsamle auch explodiere obwohl das nicht sein sollte. Meine collision: Code: [AUSKLAPPEN] Const BODY=1,WHEEL=2,SCENE=3,BOTTOMTYPE=4, Const POINT1=6,POINT2=7,POINT3=8,POINT4=9,COLLITYPE=10 Collisions BODY,SCENE,2,3 Collisions WHEEL,SCENE,2,3 Collisions WHEEL,BOTTOMTYPE,2,2 Collisions BODY,BOTTOMTYPE,2,2 Collisions BODY,POINT1,2,3 Collisions BODY,POINT2,2,3 Collisions BODY,POINT3,2,3 Collisions BODY,POINT4,2,3 Collisions BODY,POINT5,2,3 mein code für die explosion und das einsammeln der Points: Code: [AUSKLAPPEN] If EntityCollided(car,BOTTOMTYPE) ShowEntity explosion ScaleSprite explosion,Rand(1,50),Rand(1,50) EntityOrder explosion,-1 HideEntity car move=0 If play_expo_sound = 0 Then play_expo_sound = 1 PlaySound expo EndIf Else play_expo_sound = 0 HideEntity explosion move=1 EndIf If EntityCollided(car,POINT1) PointsToFinish=PointsToFinish-1 PlaySound pointpickup HideEntity point[1] EndIf If EntityCollided(car,POINT2) PointsToFinish=PointsToFinish-1 PlaySound pointpickup HideEntity point[2] EndIf If EntityCollided(car,POINT3) PointsToFinish=PointsToFinish-1 PlaySound pointpickup HideEntity point[3] EndIf If EntityCollided(car,POINT4) PointsToFinish=PointsToFinish-1 PlaySound pointpickup HideEntity point[4] EndIf If EntityCollided(car,POINT5) PointsToFinish=PointsToFinish-1 PlaySound pointpickup HideEntity point[5] EndIf ohhe ihr könnt mir helfen kann auch den ganzen code bringen... mfg SYSThern |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Änder mal das mit dem points (kanste alle 5 in nem Dim speichern , und wenn nein bitte keinen stress -.-)
2. Vlt sind deine Points falsch positioniert , so dass sie mit BOTTOMTYP in berührung kommen |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
SYSThernBetreff: ok |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha also meinst du wenn ich sie über dem bode(BOTTOMTYPE) positioniere das es dann klappt?? | ||
Tools and Programms
-------------------- www.systhern.de |
![]() |
SYSThernBetreff: jo |
![]() Antworten mit Zitat ![]() |
---|---|---|
also habs jetz geschafft hab einfach meshesintersect für die kollision zwischen point und car verwendet!
trotzdem danke für die hilfe! mfg SYSThern |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
1.: Meshesintersect ist einer der langsamsten Befehle, weil er jeden Vertice auf kollision miteinander prüft.
2.: Nehme am besten Types für die Points (es können dann Variable anzahl von Points sein) 3.: Benutze einen Collisions Typ für alle Points (Also Code: [AUSKLAPPEN] CONST POINT =2:Collisions BODY,POINT,2,3:EntityType point1,POINT , denn ich glaub damit kommt BB besser klar, und beim Prüfen dann nur noch Code: [AUSKLAPPEN] If EntityCollided(car,POINT) = Point1 ... ElseIf EntityCollided(car,POINT) = point2 ) ...)
Nur mal so als verbesserungsvorschläge |
||
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! |
![]() |
SYSThernBetreff: ok |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja weiß ich!
würde doch auch mit Array gehen oder? |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja klar (Dim POINT(5))...
Du kannst auch wenn du eine Variable anzahl von Points hast und keine Types nehmen möxhtest, kannst du das so machen, dass du, wenn du ein Level lädst und so, dann wird ausgelesen, wie viele Points das sind, und wird dann das Array neu gedimmt... mfg ToeB[/code] |
||
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! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group