Zu doof für Blitzbasic ?
Übersicht

Mike84Betreff: Zu doof für Blitzbasic ? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh Gott....
Ich wollte doch nur 2 zahlen auf dem Bildschirm die ich ändern kann. Die erste Zahl läst sich auch wunderbar ändern aber zahl2 reagiert überhaupt nicht. Warum ? ![]() Hier mein Code: Code: [AUSKLAPPEN] Graphics 640,480,16 SetBuffer BackBuffer() Global zahl1 = 0 Global zahl2 = 0 Global Auswahl = 1 Repeat Cls If KeyHit(205) Then Auswahl = Auswahl + 1 If KeyHit(203) Then Auswahl = Auswahl - 1 If Auswahl = 1 And KeyHit(200) Then zahl1 = zahl1 + 1 If Auswahl = 1 And KeyHit(208) Then zahl1 = zahl1 - 1 If Auswahl = 2 And KeyHit(200) Then zahl2 = zahl2 + 1 If Auswahl = 2 And KeyHit(208) Then zahl2 = zahl2 - 1 If Auswahl > 2 Then Auswahl = 1 If Auswahl < 1 Then Auswahl = 2 If zahl1 > 9 Then zahl1 = 0 If zahl1 < 0 Then zahl1 = 9 If zahl2 > 9 Then zahl2 = 0 If zahl2 < 0 Then zahl2 = 9 Text 20,20,"zahl1 " + zahl1 Text 20,40,"zahl2 " + zahl2 Text 20,60,"Auswahl " + Auswahl Flip Until KeyDown(1) mach ich irgendwas grundliegendes falsch ? ich hoffe ihr helft mir weiter.... Danke ![]() |
||
![]() |
flexo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480,16
SetBuffer BackBuffer() Global zahl1 = 0 Global zahl2 = 0 Global Auswahl = 2 Repeat Cls If KeyHit(205) Then Auswahl = Auswahl + 1 If KeyHit(203) Then Auswahl = Auswahl - 1 Select auswahl Case 2 If KeyHit(200)=1 Then zahl2=zahl2+1 If KeyHit(208)=1 Then zahl2=zahl2-1 Case 1 If KeyHit(200)=1 Then zahl1=zahl1+1 If KeyHit(208)=1 Then zahl1=zahl1-1 End Select If Auswahl > 2 Then Auswahl = 1 If Auswahl < 1 Then Auswahl = 2 If zahl1 > 9 Then zahl1 = 0 If zahl1 < 0 Then zahl1 = 9 If zahl2 > 9 Then zahl2 = 0 If zahl2 < 0 Then zahl2 = 9 Text 20,20,"zahl1 " + zahl1 Text 20,40,"zahl2 " + zahl2 Text 20,60,"Auswahl " + Auswahl Flip Until KeyDown(1) versuchs mal damit ![]() If... hat probleme gemacht; schau noch worans lag ![]() auf alle fälle funzt alles wenn dus mit select machst ... und geht schneller (minimal aber nya) ![]() mfg, flexo |
||
Du bist eizigartig - genau wie jeder andere auch. |
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz einfach, du rufst Keyhit 2 mit dem gleichen Parameter auf. In der Onlinehilfe steht dazu:
Zitat: Diese Funktion ermittelt, wie oft eine bestimmte Taste seit dem letzten Aufruf gedrückt wurde.
nehmen wir jetzt den entsprechenden Code: BlitzBasic: [AUSKLAPPEN]
mit If Auswahl = 1 And KeyHit(200) Then zahl1 = zahl1 + 1 fragst du ja schon ab, wie viel mal die Pfeiltaste seit dem letzten mal gedrückt wurde. Bei If Auswahl = 2 And KeyHit(200) Then zahl2 = zahl2 + 1 wurde in der Zwischenzeit nicht mehr drückt, sind ja nur nanosekunden seit der letzten Keyhit Abfrage. Du musst es also umstrukturieren. Du fragst erst ab, ob die Pfeiltaste gedrückt wurde, also so: If KeyHit(200) Then und dann fragst du ab, ob auswahl 1 oder 2 ist. Sieht dann z.B. so aus: BlitzBasic: [AUSKLAPPEN]
Hoffe du verstehst es ![]() @der über mir du hast das Problem zwar gelöst, nur nicht das Übel an der Wurzel gefasst. So weiß unser lieber Anfänger jetzt, wo das Problem war ![]() |
||
![]() |
flexo |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja @der über mir ![]() ich habs grad auch gefunden in der on hilfe ![]() wollt grad posten aber du warst schneller ^^ ja, also keyhit(X) fragt ab ob der key X seit dem letzten aufrufen der funktion keyhit(X) gedrükt wurde.. da du oben stehn hast Code: [AUSKLAPPEN] If Auswahl = 1 And KeyHit(200) Then zahl1 = zahl1 + 1 If Auswahl = 1 And KeyHit(208) Then zahl1 = zahl1 - 1 If Auswahl = 2 And KeyHit(200) Then zahl2 = zahl2 + 1 If Auswahl = 2 And KeyHit(208) Then zahl2 = zahl2 - 1 fragt er ab ob der key(200) zwischen dem ersten abfragen [if auswahl=1 and keyhit(200) ...] und dem 2ten abfragen [if auswahl=2 and keyhit(200)...] gedrückt wurde also rein therorethisch funktioniert sein progamm ![]() (man muss nur den richtigen zeitpunkt treffen, was die sache ein bisschen schwieriger macht ![]() mfg, flexo |
||
Du bist eizigartig - genau wie jeder andere auch. |
Mike84 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke euch beiden,
Hip Teen hat es super erklärt sogar ich habe es verstanden ![]() |
||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kleiner Tipp:
Für derartiges wäre wohl KeyDown angebracht... Schau in der OH. Das fragt ab, ob eine Taste zur Zeit der Abfrage gedrückt wird. mfg Dödel |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group