auf dem boden plazieren
Übersicht

Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich mein ja nur, mein Mathe-Lehrer würde sich krumm lachen. Aber ich kann sogar EntityRadius player, 50, 30000 eingeben und ich bin noch so dicht am Terrain | ||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
EntityRADIUS heißt ja nicht das es ein Kugel sein muß! ... das sollte auch dein Lehrer einsehen.
wo ist das Problem ?? Code: [AUSKLAPPEN] Graphics3D 800,600,32,2 SetBuffer BackBuffer() ;******************Globals ;Gelände - Terrain Global Fels=CreateTexture(64,64);LoadTexture ("Texturen\Fels.bmp") SetBuffer(TextureBuffer(fels)) Color 255,255,255 Rect 0,0,32,32 Rect 32,32,64,64 SetBuffer(BackBuffer()) ScaleTexture Fels, 10, 10 ;Textur - Wasser Global wassertext=CreateTexture(64,64);LoadTexture ("Texturen\Wasser.bmp",4) ScaleTexture wassertext,100,100 ;Textur - Stein_1 Global stein = CreateTexture(64,64);LoadTexture("Texturen\Stein.png") ScaleTexture stein, 100, 100 ;*****************Funktionen Function Endlevel() ;Gelände terrain = CreateTerrain(32);LoadTerrain("Hightmaps\Festung.bmp") EntityTexture terrain, Fels, 0, 0 ScaleEntity terrain, 20, 600, 20 EntityType terrain, 1 wasser=CreatePlane() EntityTexture wasser,wassertext MoveEntity wasser,0,10,0 EntityAlpha wasser,0.6 ;Gebäude Burg = CreateCube();LoadMesh("Meshes\Gebaeude\Burg.3ds") PositionMesh Burg, 34, 6, 32 ScaleMesh Burg, 200, 200, 200 EntityTexture Burg, stein ;Kamera player = CreateCone() PositionEntity(player,50,100,50);<--------- höhe muß hier größer als der radius sein EntityRadius player, 10,80;<---------- hier am 2.ten Wert rumschrauben cam = CreateCamera(player) MoveEntity cam,0, 10, 0 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 light=CreateLight() TurnEntity light,45,45,0 EntityType player, 2 ;Spiel Repeat TranslateEntity player,0,-2,0 If KeyDown(200) Then MoveEntity player, 0, 0, 3 If KeyDown(208) Then MoveEntity player, 0, 0, -3 If KeyDown(203) Then MoveEntity player, -3, 0, 0 If KeyDown(205) Then MoveEntity player, 3, 0, 0 TurnEntity cam,MouseYSpeed(),0,0 TurnEntity player,0,-MouseXSpeed(),0 MoveMouse 400, 300 If KeyDown(57) Then WireFrame(1) Collisions 2, 1, 2, 2 UpdateWorld RenderWorld Flip Until KeyHit(1) End Function ;Hauptschleife Endlevel() ClearWorld End |
||
- Zuletzt bearbeitet von Klaas am Sa, Mai 28, 2005 19:48, insgesamt einmal bearbeitet
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, ich hab nochmal nachgeschaut, Cone heißt ja Kegel ![]() Edit: Trotzdem, ich laufe direkt auf dem Terrain! |
||
- Zuletzt bearbeitet von Mr Hopp am So, Mai 29, 2005 12:33, insgesamt einmal bearbeitet
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gib mal deinen jetzigen Code! | ||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 800,600,32,1
SetBuffer BackBuffer() ;MeshTypes: ; ;1: Endlevel - Terrain ;2: Player ;3: Endlevel - Wasser ;4: EndLevel - Burg ;******************Globals ;Gelände - Terrain Global Fels=LoadTexture ("Texturen\Fels.bmp") ScaleTexture Fels, 50, 50 ;Textur - Wasser Global wassertext=LoadTexture ("Texturen\Wasser.bmp",4) ScaleTexture wassertext,100,100 ;Textur - Stein_1 Global stein = LoadTexture("Texturen\Stein.bmp") ScaleTexture stein, 100, 100 ;*****************Funktionen Function Endlevel() ;Gelände terrain = LoadTerrain("Hightmaps\Festung.bmp") EntityTexture terrain, Fels, 0, 0 ScaleEntity terrain, 50, 600, 50 EntityType terrain, 1 wasser=CreatePlane() EntityTexture wasser,wassertext MoveEntity wasser,0,10,0 EntityAlpha wasser,0.6 EntityType wasser, 3 ;Himmel dome = CreateSphere() wolken = LoadTexture("Texturen\Wolken.bmp") EntityTexture dome, wolken FlipMesh dome PositionEntity dome, 3000, 1000, 3000 ScaleEntity dome, 3500, 2000, 3500 AmbientLight 75, 75, 75 ;Gebäude Burg = LoadMesh("Meshes\Gebaeude\Burg.3ds") PositionMesh Burg, 34, 6, 32 ScaleMesh Burg, 100, 100, 100 EntityTexture Burg, stein EntityType Burg, 4 ;Geräusche Donner = LoadSound("Sounds\Donner.wav") Regen = LoadSound("Sounds\Regen.wav") Wasser = LoadSound("Sounds\Wasser.wav") Wind = LoadSound("Sounds\Wind.wav") ;Texte T_Einleitung = LoadSound("Sounds\Texte\Endlevel_Einleitung.wav") LoopSound Regen LoopSound Wind Regen_k = PlaySound(Regen) Wind_k = PlaySound(Wind) T_Einleitung_k = PlaySound(T_Einleitung) ;Kamera player = CreateSphere() PositionEntity(player,50,80,50) EntityRadius player, 10,80 cam = CreateCamera(player) cam_x = 1000 cam_y = 800 cam_z = 1000 MoveEntity cam,cam_x, cam_y, cam_z TurnEntity cam, 0, -45, 0 CameraFogMode cam,1 CameraRange cam,1,300000 CameraFogRange cam,100,4000 CameraFogColor cam,150,150,150 CameraClsColor cam,40,140,255 ;light=CreateLight() ;TurnEntity light,45,45,0 EntityType player, 2 EntityType cam, 2 Player_b = 1 Collisions 2, 1, 2, 3 Collisions 2, 3, 2, 3 Collisions 2, 4, 2, 2 RenderWorld Flip Delay(17000) ;****************Spiel Repeat ;Spieler If Player_b = 1 Then MoveEntity cam, 0, -1, 0 sz = sz + 1 EndIf If sz > 750 And Player_b = 1 Then Player_b = 0 FlushMouse FlushKeys MoveMouse 512, 384 EndIf If Player_b = 0 Then If KeyDown(200) Then MoveEntity cam, 0, 0, 3 If KeyDown(208) Then MoveEntity cam, 0, 0, -3 If KeyDown(203) Then MoveEntity cam, -3, 0, 0 If KeyDown(205) Then MoveEntity cam, 3, 0, 0 RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 MoveMouse 512, 384 EndIf ;Geräusche durch Spieler verursacht ;If EntityCollided(player, 3) And ChannelPlaying(tappen_k) = 0 Then tappen_k = PlaySound(Wasser) ;Blitz & Donner If Ausloesen = 0 Then Blitzausloeser = Rnd(5000,15000) Ausloesen = 1 Blitz_l_Messung_2 = MilliSecs() EndIf Blitz_l_Messung = MilliSecs() - Blitz_l_Messung_2 If Blitz_l_Messung > Blitzausloeser And Blitz_a = 0 Then Blitz_a = 1 AmbientLight 255, 255, 255 Donner_k = PlaySound(Donner) Messung = MilliSecs() EndIf If Blitz_a = 1 Then Blitzlicht = MilliSecs() - Messung If Blitzlicht > 50 Then AmbientLight 75, 75, 75 Blitz_a = 0 Blitzausloeser = 0 Ausloesen = 0 EndIf EndIf If KeyDown(17) Then WireFrame(1) UpdateWorld RenderWorld Flip Until KeyHit(1) End Function ;Hauptschleife Endlevel() ClearWorld |
||
- Zuletzt bearbeitet von Mr Hopp am So, Mai 29, 2005 14:02, insgesamt einmal bearbeitet
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schau dir das mal genauer an
Code: [AUSKLAPPEN] Graphics3D 800,600,32,2 SetBuffer BackBuffer() ;MeshTypes: ; ;1: Endlevel - Terrain ;2: Player ;3: Endlevel - Wasser ;4: EndLevel - Burg Const col_terrain = 1 Const col_player = 2 Const col_wasser = 3 Const col_burg = 4 ;******************Globals Global tex=CreateTexture(64,64);LoadTexture ("Texturen\Fels.bmp") SetBuffer(TextureBuffer(tex)) Color 255,255,255 Rect 0,0,32,32 Rect 32,32,64,64 SetBuffer(BackBuffer()) ScaleTexture tex, 10, 10 ;Gelände - Terrain Global Fels=tex;LoadTexture ("Texturen\Fels.bmp") ScaleTexture Fels, 50, 50 ;Textur - Wasser Global wassertext=tex;LoadTexture ("Texturen\Wasser.bmp",4) ScaleTexture wassertext,100,100 ;Textur - Stein_1 Global stein = tex;LoadTexture("Texturen\Stein.bmp") ScaleTexture stein, 100, 100 ;*****************Funktionen Function Endlevel() ;Gelände terrain = CreateTerrain(128);LoadTerrain("Hightmaps\Festung.bmp") EntityTexture terrain, Fels, 0, 0 ScaleEntity terrain, 50, 600, 50 EntityType terrain, col_terran wasser=CreatePlane() EntityTexture wasser,wassertext MoveEntity wasser,0,10,0 EntityAlpha wasser,0.6 EntityType wasser, col_wasser ;Himmel dome = CreateSphere() wolken = tex;LoadTexture("Texturen\Wolken.bmp") EntityTexture dome, wolken FlipMesh dome PositionEntity dome, 3000, 1000, 3000 ScaleEntity dome, 3500, 2000, 3500 AmbientLight 75, 75, 75 ;Gebäude Burg = CreateCube();LoadMesh("Meshes\Gebaeude\Burg.3ds") PositionMesh Burg, 34, 6, 32 ScaleMesh Burg, 100, 100, 100 EntityTexture Burg, stein EntityType Burg, col_burg ;Geräusche If 1=0 Then Donner = LoadSound("Sounds\Donner.wav") Regen = LoadSound("Sounds\Regen.wav") Wasser = LoadSound("Sounds\Wasser.wav") Wind = LoadSound("Sounds\Wind.wav") ;Texte T_Einleitung = LoadSound("Sounds\Texte\Endlevel_Einleitung.wav") LoopSound Regen LoopSound Wind Regen_k = PlaySound(Regen) Wind_k = PlaySound(Wind) T_Einleitung_k = PlaySound(T_Einleitung) End If ;<--------------- Immer schön Variablen benutzen player_height = 400 ;Kamera player = CreatePivot();player = CreateSphere() ;<------------------ der player braucht keine Geometrie PositionEntity(player,500,player_height,500) EntityRadius player, player_height/2,player_height/4 cam = CreateCamera(player) cam_x = 1000 cam_y = 800 cam_z = 1000 ;MoveEntity cam,cam_x, cam_y, cam_z <---------- immer das player objekt bewegen MoveEntity cam,0, player_height/2,0 ;TurnEntity cam, 0, -45, 0 CameraFogMode cam,1 CameraRange cam,1,300000 CameraFogRange cam,100,4000 CameraFogColor cam,150,150,150 CameraClsColor cam,40,140,255 ;light=CreateLight() ;TurnEntity light,45,45,0 EntityType player, col_player ;EntityType cam, 2 <----------- brauchst du erstmal nichtmehr Player_b = 1 Collisions 2, 1, 2, 3 Collisions 2, 3, 2, 3 Collisions 2, 4, 2, 2 RenderWorld Flip ;Delay(17000) ;****************Spiel Repeat ;Das hier hab ich erstmal ausgeklammert If 1=0 Then If Player_b = 1 Then MoveEntity cam, 0, -1, 0 sz = sz + 1 EndIf If sz > 750 And Player_b = 1 Then Player_b = 0 FlushMouse FlushKeys MoveMouse 512, 384 EndIf End If ; If Player_b = 0 Then TranslateEntity player,0,-4,0 If KeyDown(200) Then MoveEntity player, 0, 0, 3 If KeyDown(208) Then MoveEntity player, 0, 0, -3 If KeyDown(203) Then MoveEntity player, -3, 0, 0 If KeyDown(205) Then MoveEntity player, 3, 0, 0 TurnEntity cam,MouseYSpeed(),0,0 TurnEntity player,0,-MouseXSpeed(),0 MoveMouse 400, 300 ; EndIf ;Geräusche durch Spieler verursacht ;If EntityCollided(player, 3) And ChannelPlaying(tappen_k) = 0 Then tappen_k = PlaySound(Wasser) ;Blitz & Donner If Ausloesen = 0 Then Blitzausloeser = Rnd(5000,15000) Ausloesen = 1 Blitz_l_Messung_2 = MilliSecs() EndIf Blitz_l_Messung = MilliSecs() - Blitz_l_Messung_2 If Blitz_l_Messung > Blitzausloeser And Blitz_a = 0 Then Blitz_a = 1 AmbientLight 255, 255, 255 ;Donner_k = PlaySound(Donner) Messung = MilliSecs() EndIf If Blitz_a = 1 Then Blitzlicht = MilliSecs() - Messung If Blitzlicht > 50 Then AmbientLight 75, 75, 75 Blitz_a = 0 Blitzausloeser = 0 Ausloesen = 0 EndIf EndIf If KeyDown(17) Then WireFrame(1) UpdateWorld RenderWorld If EntityCollided(player,col_terrain) t$ = "Ich bin auf dem Terrain" ElseIf EntityCollided(player,col_wasser) t$ = "Ich steh auf dem wasser" ElseIf EntityCollided(player,col_burg) t$ = "Ich hab die Burg berührt" End If Color 0,0,0 Text 10,10,"Kollision:"+t Text 10,30,"Höhe der Cam:"+EntityY(cam,1) Flip Until KeyHit(1) End Function ;Hauptschleife Endlevel() ClearWorld |
||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Blöd, das jedes Tutorial, das ich kenne nur Meshs und Terrain beschreibt, das ist völlig unbekannt für mich, vielen Dank! ![]() Edit: Aber so abstrakt ist das nur, damit du das Programm daheim testen konntest, oder? Also, wenn du meine Befehle für Texturen und so zum Komentar gemacht hast, kann ich das auch rückgängig machen. |
||
- Zuletzt bearbeitet von Mr Hopp am So, Mai 29, 2005 15:44, insgesamt einmal bearbeitet
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja, es klappt nur so halb, mit der Steuerung, die du vorschlägst, kann ich nicht gerade aus laufen, und das Problem mit den 1,80 über dem Boden habe ich auch noch nicht behoben. Eigentlich versuche ich immer im Forum nur Hinweise zu bekommen, um es dann auch selbst zu lernen, aber ich komm' einfach nicht weiter, vielleicht kappier' ich's ja auch, wenn ich den korekten nicht abstrakten ode bekommen würde. Ich weiß, du hasst dir schon sehr vel Mühe mit mir gegeben, aber das wäre super, wenn du das machen würdest. ![]() |
||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nö, das mußt du schon selber machen!
Mein Tipp für dich ist .. versuche am Anfang kein Spiel zu proggen sondern experimentiere erstmal mit den Befehlen und ergründe die Möglichkeiten die sie dir bieten. Die auskommentierten sachen kannst du einfach wieder zurückdrehen, ich hab nur kein Bock mir extra Texturen anzufertigen um das Proggy zu testen. |
||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja gut, aber was mich irritiert, wenn ich die Texturen aus deiner Demo zurücksetze, funktioniert gar nichts. Mir wird die ganze zeit "Ich stehe auf dem Wasser" angezeigt, auch wenn ich eine HightMap einbinde, mit der Burg kann ich auch nicht kollidieren | ||
Klaas |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du scheinst keine Lust zuhaben dir selber die Mechaniken von BB anzulernen .. sorry aber ich denke ich habe dir genug geholfen.
Zitat: wenn ich die Texturen aus deiner Demo zurücksetze, funktioniert gar nichts ... mit solchen Aussagen kann man auch nix anfangen. Kollisions-Zeug in BB ist numal nicht so einfach, deshlab .. bau dir erstmal ein paar kleine Testprogramme damit du verstehst was da vorsichgeht und lies dir gefälligst mal die OH durch. |
||
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, aber alles was du sagst, hilft nichts, ich laufe immer noch dso nahe auf dem terrain, das ich hindurchschauen kann! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group