Car-Physic

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Hannes1995

Betreff: Car-Physic

BeitragSo, Dez 23, 2007 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, Leute !
Ich arbeite im Moment an einem Auto Spiel wo ich gerade mit der Car-Physic fertig bin !
Jetzt mein Problem: Wenn ich ''W'' drücke fährt das Auto und wenn ich ''W'' loslasse wird es langsamer und stoppt. Doch leider wird es langsamer als 0 und fährt dadurch automatisch in die Minuszahlen also rückwärts ! Rolling Eyes
Wie mach ich das, dass das Auto bei Null stoppt ?

Mfg,
Hannes

Eingeproggt

BeitragSo, Dez 23, 2007 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
geschw#=geschw#*0.95
If geschw#<0.1 Then geschw#=0


Zum Beispiel.

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Hannes1995

BeitragSo, Dez 23, 2007 17:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Funzt nicht ganz ... Confused
Hier ist mal der Code-Ausschnitt:

Code: [AUSKLAPPEN]
Global speed#=0
If KeyDown(17) Then speed#=speed#+0.1:MoveEntity player,0,0,speed#
If speed# < 0.1 Then speed#=0
If Not KeyDown(17) Then speed#=speed#-0.1:MoveEntity player,0,0,speed#
If speed# > 5 Then speed#=5

The_Nici

BeitragSo, Dez 23, 2007 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Global speed#=0
If KeyDown(17) Then speed#=speed#+0.1
If Not KeyDown(17) Then speed#=speed#-0.1
If speed# > 5 Then speed#=5
If speed# < 0 Then speed#=0
MoveEntity player,0,0,speed#

Code noch etwas bereinigt.
Dein Fehler war, dass wenn der Speed=0.1 ist wird er auf 0 gesetzt, jedoch kann er von 0 weiterhin sinken, da 0.1 nichtmehr zutrifft.

Eingeproggt

BeitragSo, Dez 23, 2007 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ähm.. Du hast meinen Vorschlag gar nicht eingebaut.

Außerdem sagt dein Codeausschnitt nichts darüber aus, wie du ihn verwendest. Ist das in ner Schleife? Und du setzt jedesmal in der Schleife
Code: [AUSKLAPPEN]
Global speed#=0

?
Wundert mich, dass das zu keinem Fehler führt. Na jedenfalls musst du am Anfang die Geschw auf 0 setzen.

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Hannes1995

BeitragSo, Dez 23, 2007 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Na wenn du (Christof) unbedingt den Code sehen willst ...

Code: [AUSKLAPPEN]
;Grafikmodus setzen
Graphics3D 1024,768,32,1
SetBuffer BackBuffer()



Const cam_col=1,boden_col=2

Global speed#=0

;Meshes usw. laden und Texturieren sowie positionieren
strasse=LoadTexture("textures/fusswegV.jpg")
ScaleTexture strasse,-20,-20

win=LoadMesh("models/pfeil_win.3ds")
PositionEntity win,Rnd(0,1000),0,Rnd(0,1000)

boden = CreatePlane()
EntityType boden,boden_col
EntityTexture boden,strasse

player = LoadMesh("models/Wagen1.b3d")
EntityType player,cam_col
MoveEntity player,0,0,0

haus1 = LoadMesh("models/haus1.b3d")
PositionEntity haus1,-70,0,0

cam = CreateCamera(player)
PositionEntity cam,0,50,-100

himmel=LoadMesh("models/himmel1.b3d")
PositionEntity himmel,0,0,0

EntityFX himmel,16

himmeltex=LoadTexture("textures/himmel.jpg")
EntityTexture himmel,himmeltex

hupe=LoadSound("sounds/hupe.wav")

CreateLight()


Collisions cam_col,boden_col,2,1

chnback=PlayMusic("sounds/canon.mp3")



While Not(KeyHit(1))

PositionEntity himmel,EntityX(player),EntityY(player),EntityZ(player)

If EntityDistance(player,win) < 20 Then End
;Schwerkraft
If EntityCollided(player,boden) Then TranslateEntity player,0,-1,0


;Steuerung des Autos festlegen
If KeyHit(19) Then PositionEntity player,0,0,0

If KeyDown(17) Then speed#=speed#+0.1
If Not KeyDown(17) Then speed#=speed#-0.1
If speed# > 5 Then speed#=5
If speed# < 0 Then speed#=0
MoveEntity player,0,0,speed#

If KeyDown(32) Then TurnEntity player,0,-.7,0
If KeyDown(30) Then TurnEntity player,0,.7,0
If KeyHit(35) Then PlaySound hupe
If EntityCollided(player,haus1) Then speed#=0


UpdateWorld
RenderWorld
Flip
Wend
End


Funzt jetzt !

Mfg,
Hannes

EDIT : Wie soll ich das denn jetzt mit Rückwärtsfahren machen ? Confused Kann mir da noch einer 'nen Tipp geben ?

mahe

BeitragSo, Dez 23, 2007 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist zwar nicht hübsch aber soho könnte es funktionieren:
Code: [AUSKLAPPEN]
If KeyDown(17) Then
  speed#=speed#+0.1
  If speed# > 5 Then speed#=5
elseIf KeyDown(31) Then
  speed#=speed#- 0.1
  If speed# < -5 Then speed#=-5
else
  if speed# < 0 then
    speed#=speed# + 0.1
  else
    speed#=speed# - 0.1
  endif
endif

MoveEntity player,0,0,speed#
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

Hannes1995

BeitragSo, Dez 23, 2007 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke !
Funktioniert wunderbar ! Very Happy

Mfg,
Hannes

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group