gangschaltung

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

ZaRaK

Betreff: gangschaltung

BeitragSa, Sep 25, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hatte vor ein rennspiel zu machen, aber hab schon recht früh probleme... unzwar mit der gangschaltung...

so hab ich das ganze mal angefangen
Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()


auto = LoadImage("auto.jpg")


x=400
y=500


gang=0
Repeat
Cls


DrawImage auto, x, y


;schaltung
If gang=0 And KeyDown(57) And KeyHit(200) Then gang=1
If gang=1 And KeyDown(57) And KeyHit(200) Then gang=2
If gang=2 And KeyDown(57) And KeyHit(200) Then gang=3
If gang=3 And KeyDown(57) And KeyHit(200) Then gang=4
If gang=4 And KeyDown(57) And KeyHit(200) Then gang=5


;fahren
If gang=0 And KeyDown(17) Then y=y
If gang=1 And KeyDown(17) Then y=y-1
If gang=2 And KeyDown(17) Then y=y-2
If gang=3 And KeyDown(17) Then y=y-3
If gang=4 And KeyDown(17) Then y=y-4
If gang=5 And KeyDown(17) Then y=y-5


Flip
Until KeyHit(1)
End


allerdings kann ich nur in den ersten gang schalten, und nicht weiter...
woran liegt das?

wie kann ich meine gangschaltung verbessern, weil ich glaub, auf die dauer kann ich das so nicht lassen... irgendwas gefällt mir da nicht.. weiss aber nicht was X-|

dominik

BeitragSa, Sep 25, 2004 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
also erstmal würde ich die gänge mit select case abfragen das ist sicherer. und zweitens würde ich das einfach in ne schleife packen und dann das machen:
gang = gang + 1 bzw gang - 1
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof.

Bms

BeitragSa, Sep 25, 2004 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
äähm beim ersten schalten bist du schon in gang 5, weil alle if abfragen in der reihenfolge 0-4 kommen. einfach andersherum (=4-0)

<edit>
war schon wiederzu laaaaaaaaam. tja. isdn isch ned grad schnell!
Reblonce (Jump + Run + Shoot - Game; 20 Levels): Download
 

Cloud

Betreff: Re: gangschaltung

BeitragSa, Sep 25, 2004 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
guck dir an wie keyhit functioniert dann siehst du auch woran es liegt
Duron 1200 | 256 RAM | Geforce 2 TI
 

totonak5

BeitragSa, Sep 25, 2004 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
habe heute in einem anderen Zusammenhang folgenden Vorschlag bekommen, der auch dir nützlich sein könnte:

schreibe in der Hauptschleife
Code: [AUSKLAPPEN]

kh = keyhit(200)


und dann ersetzt keyhit(200) durch kh


lg
Just for Fun!
Jesus loves U!
 

totonak5

BeitragSa, Sep 25, 2004 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
...und das gleiche machst du mit keydown
Just for Fun!
Jesus loves U!
 

ZaRaK

BeitragSa, Sep 25, 2004 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
optimal... jetz gehts.. danke Very Happy

Hubsi

BeitragSa, Sep 25, 2004 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Für KeyDown() ist es nicht nötig. Bestenfalls um Speed rauszuholen. Deinen Code könnte man auch etwas vereinfachen:Code: [AUSKLAPPEN]
;schaltung
If gang=0 And KeyDown(57) And KeyHit(200) Then gang=gang+1
if gang=6 then gang=5 ; oder Getriebeschaden :)


;fahren
If gang>0 And KeyDown(17) Then y=y-gang
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Bms

BeitragSa, Sep 25, 2004 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
nö hubsi. falsch. das würde nur 1 mal gehen, nämlich wenn gang=0.
so ist´s richtig:
Code: [AUSKLAPPEN]

;schaltung
If KeyDown(57) And KeyHit(200) Then gang=gang+1
if gang=6 then gang=5 ; oder Getriebeschaden :)


;fahren
If gang>0 And KeyDown(17) Then y=y-gang
Reblonce (Jump + Run + Shoot - Game; 20 Levels): Download

Hubsi

BeitragSa, Sep 25, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed Ups Embarassed Völlig übersehen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group