Leerlauf bei Fahrzeugen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Kevin

Betreff: Leerlauf bei Fahrzeugen

BeitragFr, Aug 27, 2010 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag,

ich möchte gerne wissen wie man Lerlauf bei Fahrzeugen machen kann.

Bitte um Hilfe
 

Sterbendes Lüftlein

BeitragFr, Aug 27, 2010 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

Kevin

BeitragFr, Aug 27, 2010 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Gibts ned
2. Also wenn ich mit ca. 30 km/h fahre und wenn ich die taste loslasse dass der Wagen Weiterrollt
3. HIER:
Code: [AUSKLAPPEN]
Graphics3D 1024, 768, 32
SetBuffer BackBuffer()
AppTitle "Citaro Simulator"


Bus=LoadMesh("Bus\Mercedes-Benz\Citaro\Citaro.3ds")
Frontrad=LoadMesh("Bus\Mercedes-Benz\Citaro\kp.3ds")
Heckrad=LoadMesh("Bus\Mercedes-Benz\Citaro\kp.3ds")
PositionEntity Bus, 0, 0,0
Map=LoadMesh("Strecke\Oberlübbe\Map.3ds")
PositionEntity map, 0, 0,0
Skybox=LoadMesh("Bus\Mercedes-Benz\Citaro\Citaro.3ds")


licht = CreateLight (1 ,Bus)
licht1 = CreateLight (1 ,Map)

Global speed#=0
Global steer# = 0

Camera=CreateCamera(Bus)
PositionEntity camera,-0.758, 1.8214 , -7.3049
RotateEntity camera, 0, 180, 0
Licht = CreateLight()
RotateEntity Licht, 45,45,0
;AmbientLight 0,0,0


ground = CreatePlane(8)
tex = LoadTexture("Bitmaps/grass_1.jpg")
EntityTexture ground,tex
EntityPickMode ground,2      

While Not KeyHit (1)

If KeyDown(72)   Then
      MoveEntity camera,0,0,0.1
   EndIf
   
   If KeyDown(80)   Then
      MoveEntity camera,0,0,-0.1
   EndIf
   
   If KeyDown(75)   Then
      TurnEntity camera,0,1,0,0
   EndIf
   
   If KeyDown(77)   Then
      TurnEntity camera,0,-1,0,0
   EndIf


;Auto fahren
If KeyDown (200) Then
speed# = speed# + 0.001
EndIf

If KeyDown (208)Then
speed# = speed# - 0.001
EndIf

If KeyDown (205) And speed# > 0.1 Then
   steer# = steer# - 0.01
   EndIf
   If speed# > 20 Then
   steer# = steer# - 0.01
   EndIf
   If speed# > 40 Then
   steer# = steer# - 0.01
   EndIf
   If speed# > 60 Then
   steer# = steer# - 0.01
   EndIf

If KeyDown (203) And speed# > 0.01 Then
If speed# < 20 Then
   steer# = steer# + 0.01
   EndIf
   If speed# > 20 Then
   steer# = steer# + 0.01
   EndIf
   If speed# > 40 Then
   steer# = steer# + 0.01
   EndIf
   If speed# > 60 Then
   steer# = steer# + 0.01
   EndIf
EndIf

Collisions Bus, Map, 3, 1


MoveEntity Bus,0,0,speed#
TurnEntity Bus,0, steer#, 0

RenderWorld
UpdateWorld
Text 0,0, speed#
Text 0,0, steer#
Flip
Wend
End


PS: Und ich brauch noch ne Lenkung die zum Nullpunkt zurückfällt, und das Gaspedal dass zurückfällt, und ne Bremse

Pummelie

BeitragFr, Aug 27, 2010 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, ich versteh jetzt nicht ganz was du willst, willst du hier nen ganzes "Gnagsystem mit Leerlauf" haben oder hast du schon gänge und so?

Als Leerlauf würde ich als einen Gang festlegen, der wie jeder andere funktioniert (Motor wird lauter...) bloß eben das die Geschwindichkeit sich nbicht verändert.
It's done when it's done.
 

Kevin

BeitragFr, Aug 27, 2010 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
jein...

also ich hab vorwärts und rückwärts..

dazwischen möchte ich gerne leerlauf haben

Thunder

BeitragFr, Aug 27, 2010 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm eine Geschwindigkeitsvariable um die dein Fahrzeug weiterbewegt wird. Immer wenn der Nutzer z.B. die Pfeiltaste nach Oben drückt, wird die Variable erhöht - wenn er sie nicht drückt, wird sie dekrementiert bis sie 0 ist.
Ich nehme an, das war was du gemeint hast.

mfg Thunder

PS: Für Vorwärts und Rückwärts ist das System nicht ganz das gleiche.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

Kevin

BeitragFr, Aug 27, 2010 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hä? check ich ned....

könnte mir jemand helfen?? biiiiiiitteee

biggicekey

BeitragFr, Aug 27, 2010 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
du benutzt in deinem code schon variablen und if bedingungen. mehr brauchst du nicht.

denk ein bischen nach was wann passieren muss und du kommst selbst drauf. sonst denkst du nicht genug nach oder solltest dir was leichteres als auto"physik" suchen.
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller
Nothing more to register - you've cleaned us out![/size]
 

Kevin

BeitragFr, Aug 27, 2010 23:18
Antworten mit Zitat
Benutzer-Profile anzeigen
oder hat jemand so eine Fahrphysik? weil meine ist jetz total platt

Lastmayday

BeitragSa, Aug 28, 2010 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Die einfache Version wäre die, einen Geschwindigkeitswert zu haben, der beim drücken der vorwärts Taste einen wert hinzufügt, dieser aber weniger wird, je höher die Geschwindigkeit an sich ist. Beim Leerlauf hingegen wird je höher die Geschwindigkeit ist, mehr abgezogen. Fährt man einen Berg hinauf, macht man einfach einen Multiplikator in die Rechnung, der den Effekt erhöht und bei Berg ab fahrt eben weniger. Beim bremsen findet dann eine konstante Verlangsamung statt.

Die komplizierte Version wäre hingegen ein virtueller Motor mit Drehzahl, Drehmoment und Wiederstand. Dann hättest du das Gewicht des Fahrzeugs das mit der Leistung des Motors verrechnet werden muss. (Schub pro Kilogramm)

hier eine kleine Beispiel Rechnung:
man errechnet eine gesamt Leistung aus Drehmoment und Drehzahl
leistung = Drehmoment * ((2 * Pi) * (Drehzahl / 60))

teilt die Leistung durch Gewicht und verkleinert den wert durch die aktuelle Geschwindigkeit.
speed = speed + ((leistung / gewicht) / (50 + ((- speed) / 50)))
nun fügt man noch einen widerstand hinzu und vergrößert diesen durch die aktuelle Geschwindigkeit.
speed = speed - ((wiederstand * gewicht) * (speed / 25))

dies entspricht keinesfalls einem richtigen Motor aber es kommt ein ähnlicher Effekt raus.

http://de.wikipedia.org/wiki/Drehmoment

have a nice day.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group