Nach langer Pause Problem mit Gravity

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Darthshoot

Betreff: Nach langer Pause Problem mit Gravity

BeitragDo, Jun 07, 2007 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Nach einer langen Pause (Schulabschluss etc.) bin ich wieder da! Very Happy

Ich habe auch gleich ein Problem. Am liebsten würde ich praktisch sowas machen wie Doom1 hmm aber es gibt Schwierigkeiten mit der Gravity. Die Camera scheint nicht das Level zu erkennen:

Vor der Mainschleife:

Code: [AUSKLAPPEN]
Level = LoadBSP("maps/level1/city1.bsp")

; Camera
Global Cam = CreateCamera()
CameraRange Cam, 0.5, 10000.0
Global Y = 50
PositionEntity Cam, 0, Y, 0

; Gravity
Global Gravity = 0


Code: [AUSKLAPPEN]
; Gravity
If EntityCollided(Cam, Level)
Gravity = 0
EndIf

If Not EntityCollided(Cam, Level)
Gravity = 1
Y = Y - 5
PositionEntity Cam, 0, Y, 0
EndIf


Ich will also, dass die Camera zuerst bei 0, 50, 0 startet und dann soll abgefragt werden, ob sie das Q3Level berührt. Wenn nicht, dann soll sie runter fallen, bis sie das Level berührt. Aber irgendwie fällt sie einfach durch das Level durch und ich glaube auch nicht, dass PositionEntity das richtige für mein Vorhaben ist, aber ich kenne im Moment nichts anderes Sad ich hoffe ihr könnt mir helfen.

Danke im Voraus.
MfG Darthshoot[/code]

Tankbuster

BeitragDo, Jun 07, 2007 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das erste was mir auffällt ist, dass du keine Kollision eingestellt hast, und trotzdem überprüfst, ob es eine gibt (was natürlich nicht sein kann)...

Lies dir Mal die OnlineHilfe durch, oder ein paar Tuts auf Robsite.de,
oder such im Forum nach "Kollision"

Das ist das beste, was man machen kann, wenn man grade erst mit B3D angefangen hat Wink
Twitter
Download Jewel Snake!
Windows|Android
 

Darthshoot

BeitragDo, Jun 07, 2007 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mir das schon alles durchgelesen. Naja ich habe jetzt hier mal ein Tut gefunden über entitytype und jetzt klappts auch so halbwegs... Also ich kann schon nicht mehr in Wände reinfliegen. Das Ganze sieht jetzt wie folgt aus:

Code: [AUSKLAPPEN]
Graphics3D 800, 600, 16, 1
SetBuffer BackBuffer()
Level = LoadBSP("maps/level1/city1.bsp")

; Camera
Global Cam = CreateCamera()
CameraRange Cam, 0.5, 10000.0
Global Y = 50
Global X = 0
PositionEntity Cam, X, Y, 0

; Gravity
Global Gravity = 0

While Not KeyHit(1)

; Control
If KeyDown(200) Then X = X + 2
If KeyDown(208) Then X = X - 2
If KeyDown(203) Then TurnEntity Cam, 0,  2, 0
If KeyDown(205) Then TurnEntity Cam, 0, -2, 0

; Gravity
EntityType Cam, 1
EntityType Level, 2
Collisions 1, 2, 2, 1

MoveEntity Cam, 0, Y, X
X = 0
Y = 0

UpdateWorld
RenderWorld
Flip
Wend


Bei Gravity sollte eigendlich auch hinkommen, dass man wenn man in der Luft schwebt, auf den Boden gedrückt wird. Ich hatte da mal Y = -5 gemacht, dann wurde ich auch auf den Boden gedrückt, konnte mich aber nicht mehr bewegen. Das ist warscheinlich nur noch ein kleines PRoblem. Wenn ich das habe, ist alles in Ordnung! Kann mir da kurz einer helfen plz?

Puccini

BeitragDo, Jun 07, 2007 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hi!

machs mal so!

Code: [AUSKLAPPEN]
Graphics3D 800, 600, 16, 1
SetBuffer BackBuffer()
Level = LoadBSP("maps/level1/city1.bsp")

; Camera
Global Cam = CreateCamera()
CameraRange Cam, 0.5, 10000.0
Global Y = 50
Global X = 0
PositionEntity Cam, X, Y, 0

; Gravity
Global Gravity = 0
; Gravity
EntityType Cam, 1
EntityType Level, 2
Collisions 1, 2, 2, 1

While Not KeyHit(1)

; Control
If KeyDown(200) Then X = 2
If KeyDown(208) Then X = 2
If KeyDown(203) Then TurnEntity Cam, 0,  2, 0
If KeyDown(205) Then TurnEntity Cam, 0, -2, 0


Translate Entity Cam, 0, Y, X
X = 0
Y = 0

UpdateWorld
RenderWorld
Flip
Wend
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

Tankbuster

BeitragDo, Jun 07, 2007 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Befehle
"EntityType" und "Collisions"
nicht in jedem Schleifendurchlauf ausführen. Einmal vor der Schleife reicht schon.
Nur mal so als Tipp Wink
Dadurch läuft auch gleich alles viel schneller...
Twitter
Download Jewel Snake!
Windows|Android
 

Darthshoot

BeitragFr, Jun 08, 2007 10:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok vielen Dank an alle Very Happy ihr habt mir wirklich weitergeholfen!!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group