gangschaltung
Übersicht

ZaRaKBetreff: gangschaltung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ää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 |
CloudBetreff: Re: gangschaltung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
guck dir an wie keyhit functioniert dann siehst du auch woran es liegt | ||
Duron 1200 | 256 RAM | Geforce 2 TI |
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
...und das gleiche machst du mit keydown | ||
Just for Fun!
Jesus loves U! |
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
optimal... jetz gehts.. danke ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group