Probleme mit Schwerkraft in B3D

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

derhouques

Betreff: Probleme mit Schwerkraft in B3D

BeitragFr, März 13, 2009 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab da so ein Prob mit der Schwerkraft.
Ich hab das immer mit "MoveEntity Player, 0,-0.15,0" gehandhabt, und jetzt wo ich die "Ego-Shooter-Steuerung"(bei mausbewegeung wird das entity vom player gedreht) eingebaut hat slidet er mir immer an der Map zur Seite Shocked

Hoffe ihr könnt mir helfen Very Happy
SnooPING AS usual i see!

Megamag

BeitragFr, März 13, 2009 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Z Achse zum Vorwärtslaufen nehmen.
 

DjDETE

BeitragFr, März 13, 2009 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier's mal in dem du bei Collisions die reaktion% auf 3 änderst...
MfG DeTe
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

ToeB

BeitragFr, März 13, 2009 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Kein ihr habt das Problem nicht verstanden...

MoveEntity Bewegt ein Object mit berücksichtigung der X/Y/Z winkel. Wenn man ein Object absolut auf einer Achse bewegen möchte, nimmt man TranslateEntity. Gleiche Paramenter wie bei MoveEntity nur halt das man das Object drehen kann wie man will, es bewegt sich nur in diese richtung Wink


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Megamag

BeitragFr, März 13, 2009 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Er will ja aber, dass das nach Richtung der Maus geht (glaube ich).
Und dann wäre MoveEntity mit Z-Achse richtig.
 

DjDETE

BeitragFr, März 13, 2009 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
es geht ihm nicht ums bewegen sondern um die schwerkraft, und er rutsch jetzt runter, wodurch ich denke, dass ich recht habe, aber das soll uns doch einfach derhouques selbst sagen...
MfG
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden.

ToeB

BeitragFr, März 13, 2009 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja es geht um die schwerkraft, er wundert sich ja nur NACHDEM es die Maussteuerung eingebaut hatte, das aufeinmal die camera sich zur seite bewegte. Und das lag an MoveEntity, weil es ja sich an dem winkel der Camera orientiert, der vorher immer 0 war.

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

derhouques

BeitragFr, März 13, 2009 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah sry loids, ich war kurz weg ^^

Naja danke, jetz klappt alles wunderbar, er fällt runter wie er soll Very Happy

EDIT: Omg jetzt kommt das zweite problem Evil or Very Mad

in DIESEM code
Code: [AUSKLAPPEN]

Graphics3D 1034,768,2
SetBuffer BackBuffer()
AppTitle "Map one!!"
HidePointer

Playertype = 1: Terraintype = 2

Global Player = CreateCube()
Global cam    = CreateCamera(player)
Global Map = LoadMesh(".\Models\Testmap2.b3d")
EntityType player,playertype
EntityType map,terraintype

Collisions Playertype,Terraintype,2,3

EntityRadius Player,1.6
PositionEntity player, 0,7,0
MoveEntity cam,0,0,0
PositionEntity Map,0,0,0
MoveMouse 512,384

While Not KeyHit(1)

If KeyDown(200) Then MoveEntity player,0,0,0.25
If KeyDown(208) Then MoveEntity player,0,0,-0.25
If KeyDown(203) Then MoveEntity player,-0.25,0,0
If KeyDown(205) Then MoveEntity player,0.25,0,0
;"Mausdrehung"
mxspd#=MouseXSpeed()*0.25
myspd#=MouseYSpeed()*0.25      
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch=campitch+myspd
If campitch<-85 Then campitch=-85
If campitch>85 Then campitch=85
RotateEntity player,campitch,EntityYaw(player)-mxspd,0

TranslateEntity player,0,-0.15,0

UpdateWorld():RenderWorld():Flip

Wend

End



...kann man in die Luft gehen, und ich hab grad absolut KEINEN playn wie ich das unterbinden kann.
Könnt ihr mir (mal wieder) helfen ? ^^
SnooPING AS usual i see!

ToeB

BeitragFr, März 13, 2009 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Du bewegst den spieler constant mit 0.15 pro Schleifendurchgang nach unten. Wenn du jetzt mit der camera 0.25 in eine andere richtung gehst, kannst du dir ausrechnen (0.25-0.15 = 0.1) dass dann die camera sich 0.1 in die andere richtung bewegt. Die Gravitation muss immer größer sein als die bewegungs geschwindigkeit...


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

derhouques

BeitragFr, März 13, 2009 19:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahh danke jetz klappt alles ^^ danke
SnooPING AS usual i see!

NightPhoenix

BeitragFr, März 13, 2009 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde dir auch noch sowas wie...
Code: [AUSKLAPPEN]
If Entitycollided(player,boden) then Gravitation=0 else Gravitation=1

... empfehlen.
Dazu musst du dem Boden und Spieler einen EntityType zuweisen, FÜr den Spieler außerdem noch EntityRadius. Ist dies getan setzt du Collisions ein um eine Kollision von Spieler auf Boden zu überprüfen.
Dabei kannst du auch sowas wie eine "Fallbeschleunigung" einbauen, sodass der Spieler mit zunehmender Falldauer (Vergleiche ob Gravitation=1 oder =0) schneller fällt.
Ist realistischer Wink und außerdem umgehst du solche Sachen wie "das langsame Bergaufkriechen des Spielers" weil du ihn ständig nach unten bewegst. Wenn er also durch den obigen Code kollidiert bewegst du ihn nicht nach unten, so haste ein ziemlich gutes Gravitationssystem (nicht perfekt aber immerhin).
Ich hoffe du verstehst in etwa was ich dir sagen möchte Smile
MfG. NightPhoenix

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group