Erbitte Hilfe bei Sprunglogarithmus

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

BB-Fan

Betreff: Erbitte Hilfe bei Sprunglogarithmus

BeitragDi, Jun 01, 2004 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Wer kann mir einen Fetzen Quellcode für eine Sprungroutine posten.

Wie funktioniert dies denn mit den restlichen abfragen wegen der kollision usw. ?

Wäre nett wenn jemand hilft

simi

BeitragDi, Jun 01, 2004 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, ich schrieb mal vor langer Zeit ein Tutorial, das du auf meiner Page findest( www.blitz2d.ch.vu ).

Hier ein ausschnitt zum springen:
Code: [AUSKLAPPEN]

If KeyHit(57) Then                      ;Wenn die Leertaste gedrückt wird ...
  Jump = 5                                      ;wird die Variable Jump auf 5 gesetzt
ElseIf Jump > 0 Then                         ;Wenn das nicht der Fall ist und Jump grösser als 0 ist, ...
  Jump = Jump- 0.1                                      ;wird immaer 0.1 von Jump abgezogen
  TranslateEntity Figur,0,Jump,0                ;Die Figur wird um die Variable Jump nach oben verschoben
EndIf


bei der Kollision musst du nichts ändern

cu simi
 

ZaRaK

BeitragDi, Jun 01, 2004 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
aber das problem, das wenn man dauernd die leertaste drückt, die figur ins unendliche springen kann, bleibt Sad
 

Silbersurfer

BeitragDi, Jun 01, 2004 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ZaRaK
Zitat:
aber das problem, das wenn man dauernd die leertaste drückt, die figur ins unendliche springen kann, bleibt


das muß dann mit einer If abfrage auf collision abfangen .

also solange der Spieler am fallen ist (also keine Collision dann kein Sprung)
Spieler hat Collison dann darf gesprungen werden
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Xenon

BeitragMi, Jun 02, 2004 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Was soviel heisst, wie dass der Spieler die Wandhochhüpfen kann weil er da ja auch mit der Umgebung kollidiert!

Spontan fällt mir zur Lösung ein, einen Pivot unten bei den Füßen mit geringem Radius zu machen und diesen auf Kollision prüfen...

Xenon
 

Silbersurfer

BeitragMi, Jun 02, 2004 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Xenon
Zitat:
Was soviel heisst, wie dass der Spieler die Wandhochhüpfen kann weil er da ja auch mit der Umgebung kollidiert!



oder mann verfeinert das ein wenig z.b

CollisionX
CollisionY
CollisionZ
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip
 

BB-Fan

BeitragMi, Jun 02, 2004 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt komm ich bei all den Vorschlägen ganz durcheinander....

Wuuuhaaaa Help....
 

Affje

BeitragMi, Jun 02, 2004 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
bei mir funzt gar keine möglichkeit ^^

hier mein code:

Code: [AUSKLAPPEN]

Datei = OpenFile("Preferences.ini")
Width = ReadLine(Datei)
Height = ReadLine(Datei)
Depth = ReadLine(Datei)
Mode = ReadLine(Datei)
CloseFile Datei

Detail = OpenFile("Detail.ini")
Detailstufe = ReadLine(Detail)
CloseFile Detail

Global jump

Graphics3D Width, Height, Depth, Mode
SetBuffer BackBuffer()


;externe Dateien laden
Include "Start.dat"
Include "Bäume.dat"

;Sonstige Vorbereitungen
Dim FPS(3)
TerrainDetail Terrain, Detailstufe; Detail setzen

;##############################################################################
;                     Hauptschleife
;##############################################################################
While Not KeyHit(1)



   Bewegung = 0   
   Collisions 2, 1, 2, 2; Terrainkollision
   Collisions 2, 3, 2, 2; Meeresbodenkollision
   TurnEntity Himmel, 0, 0.1, 0
   
   ;Steuerung
   If KeyDown(17) = 1 Then
      Bewegung = 1
      MoveEntity Kamera, 0, 0, Geschwindigkeit#: Abstand = 2
   EndIf
               
   If KeyDown(31) = 1 Then
      Bewegung = 1
      MoveEntity Kamera, 0, 0, -Geschwindigkeit#: Abstand = 2   
   EndIf
   
   If KeyDown(30) = 1 Then
      Bewegung = 1
      MoveEntity Kamera, -Geschwindigkeit#, 0, 0: Abstand = 2
   EndIf
   
   If KeyDown(32) = 1 Then
      Bewegung = 1
      MoveEntity Kamera, Geschwindigkeit#, 0, 0: Abstand = 2
   EndIf
   
   ;ducken
   If KeyDown(29) = 1 Then
      Bewegung = 0
      Abstand = 1
      Geschwindigkeit# = 0.05
      ElseIf KeyDown(29) = 0
      Abstand = 2
      Geschwindigkeit# = 0.1
   EndIf
   
   ;Drehsperre
   Winkel = Winkel + MouseYSpeed()
   If Winkel > 45 Then Winkel = 45
   If Winkel < -45 Then Winkel = -45
   TurnEntity Kamera, -EntityPitch(Kamera), 0, 0
   TurnEntity Kamera, Winkel, -MouseXSpeed(), 0
   

   ;Laufsound
   If MilliSecs()>=Lauflaenge + 400 Then
      Lauflaenge = MilliSecs()
      If Bewegung = 1 Then
         PlaySound Laufen
      End If
   End If   

If KeyHit(57) Then                      ;Wenn die Leertaste gedrückt wird ...
  Jump = 5                                      ;wird die Variable Jump auf 5 gesetzt
ElseIf Jump > 0 Then                         ;Wenn das nicht der Fall ist und Jump grösser als 0 ist, ...
  Jump = Jump- 0.1                                      ;wird immaer 0.1 von Jump abgezogen
  TranslateEntity Kamera,0,Jump,0                ;Die Figur wird um die Variable Jump nach oben verschoben
EndIf

   
;Kameraposition über dem Terrain
PositionEntity Kamera, EntityX(Kamera), TerrainY(Terrain, EntityX(Kamera), EntityY(Kamera), EntityZ(Kamera)) + Abstand, EntityZ(Kamera)

   
Frame = (Frame + 1) Mod 23
EntityTexture Wasser, Wassertextur, Frame
   
RenderWorld; rendern der Welt
DrawImage Fadenkreuz, GraphicsWidth() / 2, GraphicsHeight() / 2
UpdateWorld
Text 10, 10, CurrentDate() + " - " + CurrentTime()
Text 10, 40, "EntityX: " + EntityX(Kamera) + " EntityY: " + EntityY(Kamera) + " EntityZ: " + EntityZ(Kamera)
Text 10, 70, "FPS: " + FPS(1): FPS(2) = FPS(2) + 1: If MilliSecs() > FPS(3) + 999 Then FPS(1) = FPS(2): FPS(2) = 0: FPS(3) = MilliSecs()
Text 200, 200, radius
Flip
Wend
;##############################################################################
;                     Hauptschleifenende
;##############################################################################

End
ClearWorld


   
www.drachengarde.tk
Guckst da Hier

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group