Das funktioniert einfach nicht

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

sven123

Betreff: Das funktioniert einfach nicht

BeitragSa, Nov 13, 2004 14:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe jetzt dieses kleine Proggi erstelt hierbei soll ein Flieger durch Tastatur und Maus gesteuert durch ein 3D Gelände fliegen.Dies funktioniert auch nun möchte ich aber das der flieger nicht durch den Terrainboden fliegt,dazu habe ich wie es mir hier geraden wurde die Kamera als Child vom Flieger defieniert doch dann sehe ich den Flieger nicht mehr aus der 3Personsicht.Deswegen habe ich hier alles wieder auf den Anfang zurück gesetzt,da dann das mit der 3Personsicht wieder funktioniert.Doch dann funktioniert mit diesen einstellungen nur die Collision von der Cam mit dem Terrainboden,dies sieht allerdings reichlich blöde aus den der Flieger fliegt durch das Terrain nur die Camera bleibt hängen.Hier mal der Code.Bitte helft mir!Warum funtzt das nicht?????
Code: [AUSKLAPPEN]
Graphics3D 800,600,0,1
AppTitle "Rammjäger"
HidePointer
SetBuffer BackBuffer()
;Laden der Texturen und Meshs
terrain=LoadTerrain("H:\Grassclip.bmp")
text1=LoadTexture("H:\Gras.jpg")
metallpyramide=LoadMesh("H:\pyramide.x")
Gebaude=LoadMesh("H:\house.x")
flieger=LoadMesh("H:\flieger.3ds")
Burg=LoadMesh("H:\Burg.x")
jager=LoadMesh("H:\Rammjäger.3ds")
himmel=LoadTexture("H:\himmel2.jpg")
Baumstumpf=LoadMesh("H:\Baumstumpf.x")
Baumstumpf1=LoadMesh("H:\Baumstumpf.x")
Baumstumpf2=LoadMesh("H:\Baumstumpf.x")
Baumstumpf3=LoadMesh("H:\Baumstumpf.x")
;Objekt richtig drehen
TurnEntity flieger,-90,0,90
;Erstellen eines Pivot für die Kollision
sky=CreateSphere(120)
FlipMesh sky
ScaleEntity  sky,7000,9000,7000
PositionEntity sky,6500,1000,6800
;Metallpyramide
PositionEntity metallpyramide,5000,20,7800
PositionEntity Baumstumpf,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf1,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf2,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf3,4200,20,9000
;
PositionEntity Burg,5000,20,8000
PositionEntity jager,9000,500,9000
;Das Terrain erstellen und Texturieren
pivot=CreatePivot()
EntityTexture terrain,text1,0,0
ScaleEntity terrain,50,60,50
ScaleTexture text1,20,20
;Spielfigur posizionieren
PositionMesh flieger,-8000,-5000,2000
TerrainDetail terrain,8000,True
;Position der Hand 
;Position des Hauses
PositionMesh Gebaude,9000,-250,-9000
;Die Textur des Hauses bearbeiten und verwenden
EntityTexture sky,himmel
RotateMesh Gebaude,180,0,0
;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Thirdperson sicht
;;
;;
;Kameravoreinstellungen   
cam=CreateCamera()
PositionEntity cam,5100,2050,8075
CameraRange cam,1,80000
light=CreateLight() 
LightRange light,80000
TurnEntity light,45,45,45
EntityParent light,cam
;Einstellungen für die Sicht
TurnEntity cam,10,106,0
EntityParent flieger,cam
PositionEntity cam,3007,1025,5845
TurnEntity cam,270,0,270
;Kollisionsabfrage
EntityRadius pivot,0.2
EntityType terrain,2
EntityType cam,1
Collisions 1,2,2,2
EntityOrder sky,1
;Steuerung des Spieler und der Cam
;;;;;;;;;;;;;;;;;;;;-------Hauptschleife
While Not KeyHit(1)
;Mausabfrage   
RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 ;muss immer mesh parent sein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If Not KeyDown(200)=1 Then MoveEntity cam,0,0,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 
If KeyHit(35)=1 Then 
SaveBuffer BackBuffer(),"screenshots.bmp"
EndIf 
If KeyDown(1) Then End
UpdateWorld
RenderWorld
Flip
Wend
ClearWorld
End
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

Bigmichi

BeitragSa, Nov 13, 2004 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityType cam,1

ist doch klar du musst einfach die kollision überarbeiten Wink statt kamera zu kontrollieren dedn FLieger checken ? Wink
 

sven123

BeitragSa, Nov 13, 2004 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das habe ich auch gedacht und habe stat entitytype cam flieger eingesetzt und im mit entityradius eine Kreisförmige Kollisionsfläche gegeben ging aber trotzdem 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

Henry

BeitragSa, Nov 13, 2004 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber laut Deinem obigen Code hat doch nur die Cam und das Terrain einen EntityType...der Flieger nicht...dann ist es doch kein Wunder, daß er durch das Terrain fliegt.

Eine 3rd Person Chase Cam wird übrigens in der Regel immer als child des Objektes gemacht, welchem sie folgt...alleine schon um eine freie Bewegung um das Objekt zu garantieren (Smooth Cam).
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!
 

sven123

BeitragSa, Nov 13, 2004 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja klar das habe ich doch obem geschrieben vorher hate ich anstelle von Cam flieger bei entitytype stehen gehabt aber die Kollision hat den flieger dan doch nicht beachtet und dann habe ich halt alles wieder zurück gestelt.So sah der Veränderte Code aus doch da ging die Kollision auch nicht warum.
Code: [AUSKLAPPEN]
Graphics3D 800,600,0,1
AppTitle "Rammjäger"
HidePointer
SetBuffer BackBuffer()
;Laden der Texturen und Meshs
terrain=LoadTerrain("H:\Grassclip.bmp")
text1=LoadTexture("H:\Gras.jpg")
metallpyramide=LoadMesh("H:\pyramide.x")
Gebaude=LoadMesh("H:\house.x")
flieger=LoadMesh("H:\flieger.3ds")
Burg=LoadMesh("H:\Burg.x")
jager=LoadMesh("H:\Rammjäger.3ds")
himmel=LoadTexture("H:\himmel2.jpg")
Baumstumpf=LoadMesh("H:\Baumstumpf.x")
Baumstumpf1=LoadMesh("H:\Baumstumpf.x")
Baumstumpf2=LoadMesh("H:\Baumstumpf.x")
Baumstumpf3=LoadMesh("H:\Baumstumpf.x")
;Objekt richtig drehen
TurnEntity flieger,-90,0,90
;Erstellen eines Pivot für die Kollision
sky=CreateSphere(120)
FlipMesh sky
ScaleEntity  sky,7000,9000,7000
PositionEntity sky,6500,1000,6800
;Metallpyramide
PositionEntity metallpyramide,5000,20,7800
PositionEntity Baumstumpf,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf1,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf2,Rand(-2000,6000),20,Rand(-1000,9000)
PositionEntity Baumstumpf3,4200,20,9000
;
PositionEntity Burg,5000,20,8000
PositionEntity jager,9000,500,9000
;Das Terrain erstellen und Texturieren
pivot=CreatePivot()
EntityTexture terrain,text1,0,0
ScaleEntity terrain,50,60,50
ScaleTexture text1,20,20
;Spielfigur posizionieren
PositionMesh flieger,-8000,-5000,2000
TerrainDetail terrain,8000,True
;Position der Hand 
;Position des Hauses
PositionMesh Gebaude,9000,-250,-9000
;Die Textur des Hauses bearbeiten und verwenden
EntityTexture sky,himmel
RotateMesh Gebaude,180,0,0
;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Thirdperson sicht
;;
;;
;Kameravoreinstellungen   
cam=CreateCamera()
PositionEntity cam,5100,2050,8075
CameraRange cam,1,80000
light=CreateLight() 
LightRange light,80000
TurnEntity light,45,45,45
EntityParent light,cam
;Einstellungen für die Sicht
TurnEntity cam,10,106,0
EntityParent cam,flieger
PositionEntity cam,3007,1025,5845
TurnEntity cam,270,0,270
;Kollisionsabfrage
EntityRadius flieger,0.2
EntityType terrain,2
EntityType flieger,1
Collisions 1,2,2,2
EntityOrder sky,1
;Steuerung des Spieler und der Cam
;;;;;;;;;;;;;;;;;;;;-------Hauptschleife
While Not KeyHit(1)
;Mausabfrage   
RotateEntity flieger,EntityPitch(flieger)+MouseYSpeed(),EntityYaw(flieger)-MouseXSpeed(),0 ;muss immer mesh parent sein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If Not KeyDown(200)=1 Then MoveEntity flieger,0,-20,0 
If KeyDown(200)=1 Then MoveEntity flieger,0,0,20   
If KeyDown(203)=1 Then MoveEntity flieger,-20,0,0
If KeyDown(205)=1 Then MoveEntity flieger,20,0,0 
If KeyHit(35)=1 Then 
SaveBuffer BackBuffer(),"screenshots.bmp"
EndIf 
If KeyDown(1) Then End
UpdateWorld
RenderWorld
Flip
Wend
ClearWorld
End
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group