Ereignise bei der Kollision!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

sven123

Betreff: Ereignise bei der Kollision!

BeitragMo, Nov 29, 2004 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hätte da noch eine Frage hat zwar nichts mit den Screenhots zu tun aber es lohnt sich nicht wenn ich einen neuen Thread dafür aufmache.Ich möchte in meiem Prog das ein Flieger(die cam) wenn er dem Boden kollidiert das die Steuerung ausetzt(man hat verloren) dazu habe ich mir mit hilfe der BB3d samples Volgendes überlegt.
Code: [AUSKLAPPEN]
 
;Kollisionsabfrage
EntityType terrain,2
EntityType cam,1
EntityType Burg,3
EntityType metallpyramide,4
;Bäume
 
;
EntityType sky,5
Collisions 1,2,2,1 
Collisions 1,3,2,1
Collisions 1,4,2,1
Collisions 1,5,2,1
Collisions 1,6,2,1
If EntityCollided(terrain,1) Then
tasten=1
EndIf
if tasten=0 then
Mausabfrage ;Damit es kürtzer wird Pseudocode
endif 

Warum geht das so nicht?
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragMo, Nov 29, 2004 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
meister.....


du musst die kollision des fliegers mit dem terrain testen nicht umgegkehrt außerdem würde ich das etwas kürzer machen

if entitycollided(flieger,type_terrain) <> 0 then
mausabfrage
else
exit
end if
 

sven123

BeitragMo, Nov 29, 2004 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es jetzt so gecoded wie du es vorgeschlagen hast aber es geht trotzdem nicht ich kann auch nach der Collision noch meinen Raumersteuern.Code: [AUSKLAPPEN]
If EntityCollided(cam,2)=0 Then   
RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 
If Not KeyDown(200)=1 Then MoveEntity cam,0,-15,0 
If KeyDown(200)=1 Then MoveEntity cam,0,0,20   
If KeyDown(203)=1 Then MoveEntity cam,-20,0,0
If KeyDown(205)=1 Then MoveEntity cam,20,0,0
EndIf
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragMo, Nov 29, 2004 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
if entitycollided(flieger,terrain) !!!!!!!!!!!!!<>!!!!!!!!!!!!!!!!!! 0 then
.....

Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes
 

sven123

BeitragMo, Nov 29, 2004 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du so?So gehts aber auch nicht!
Code: [AUSKLAPPEN]
If EntityCollided(cam,terrain)=0 Then   
RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 
If Not KeyDown(200)=1 Then MoveEntity cam,0,-15,0 
If KeyDown(200)=1 Then MoveEntity cam,0,0,20   
If KeyDown(203)=1 Then MoveEntity cam,-20,0,0
If KeyDown(205)=1 Then MoveEntity cam,20,0,0
EndIf
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

sven123

BeitragDi, Nov 30, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Der flieger ist die cam du siehst alles also aus der Cockpitperspektive.Kann es sein weil die Camera streng genommen kein entity ist das diese collisionsabfrage nicht funtzt.
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragDi, Nov 30, 2004 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst dir eine kugel machen die an der gleichen stele ist wie die cam un diese kugel auf kollision testen dann setzt du in jedem schleifen umlauf die cam an die position der kugel......

vergiss nicht die kugel statt der cam zu bewegen....

MFG Darren
 

sven123

BeitragDi, Nov 30, 2004 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun gut jetzt habe ich eine Kugel erstellt und diese als Parent zur Cam deklariert,doch irgendwie funtzt des mit entitycollided immer noch nicht warum?Wenn ich die Kugel an stelle der Camera bewege dann funktioniert die ganze Steuerug der Camera nicht mehr!
Code: [AUSKLAPPEN]

kugel=CreateSphere()
;
cam=CreateCamera(kugel)
;
If EntityCollided(kugel,2)=0 Then   
RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 
If Not KeyDown(200)=1 Then MoveEntity cam,0,-15,0 
If KeyDown(200)=1 Then MoveEntity cam,0,0,20   
If KeyDown(203)=1 Then MoveEntity cam,-20,0,0
If KeyDown(205)=1 Then MoveEntity cam,20,0,0
EndIf
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Ofenrohr

BeitragDi, Nov 30, 2004 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
tja ich hab ma ne ganz andere lösung:

Code: [AUSKLAPPEN]

; hier steht die normale steuerung
terra_y = terrainy(cam, entityx(cam),entityy(cam),entityz(cam)) + 1
; terra_y ist vom terrain die höhe plus 1(sonst könnte man durch das terrain sehen)
if entityy(cam) < terra_y then gameover = 1


mfg ofenrohr
Ofenrohr.net

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group