Taste Doppel benutzen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Indie-Maker

Betreff: Taste Doppel benutzen

BeitragFr, Okt 19, 2012 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebe leute bin noch ziehmlich neu in BB !
Und habe mich hier auch erst frisch angemeldet also bitte nicht ganz so Kritisch mit allem Cool

Und zwar es geht darum wollte sowas machen , dass wenn ich auf der Taste "I" drücke sich mein Inventar öffnen tut und natürlich auch auf der selben Taste wieder schließen tut.
Habe dazu ein Code geschrieben der auch geht ....meine frage an euch ist das so sinnvoll oder gibts bessere Lösungen ....?!

Ich will hier nicht um Cods betteln, davon halt ich eh nichts halt nur mal so kleine denk anstösse oder sowas !

im diesen Sinne schon mal im vorraus Danke bin erst morgen wieder Online !

Code: [AUSKLAPPEN]
KH23 = KeyHit (23)
           If KH23 Then
                 KH23Wert = KH23Wert + 1
                    EndIf
                     If KH23Wert > 1 Then
                       KH23Wert = 0
                         EndIf


Die abfrage für Inventar offen wäre dann natürlich "if KH23Wert = 1 then .........."
Kobold
*NEU*Sperrbereich

Ana

BeitragFr, Okt 19, 2012 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich finde den Modulo immer sehr schön für solche Sachen.

Sowas in etwa

BlitzBasic: [AUSKLAPPEN]
If KeyHit(23) Then KhWert23 = (KhWert23 + 1) Mod 2

If KhWert23 Then DrawInventory()
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

Addi

BeitragFr, Okt 19, 2012 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

If KeyHit(23) Then KhWert23 = 1 - KhWert23


Ist noch leichter Razz.

Setzt aber voraus, dass die Variable anfangs den Wert 1 oder 0 hat und auch in dem Bereich bleibt Wink.
BP/B3D/BMax : Lerne Java : Früher mal Lite-C : Gewinner BCC 62

Der Eisvogel

BeitragFr, Okt 19, 2012 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

BlitzBasic: [AUSKLAPPEN]
If KeyHit(23) Then KhWert23 = Not KhWert23


Das wäre logisch sogar noch korrekt.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Xeres

Moderator

BeitragFr, Okt 19, 2012 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Pah! Sage ich da! Pah!
BlitzBasic: [AUSKLAPPEN]
If KeyHit(23) Then KhWert23 = KhWert23 Xor 1

Spaß beiseite; Funktionieren tun all die Vorschläge, aber Anas ist nicht auf [0,1] begrenzt und würde ich so bei größeren, ganzzahligen Wertebereichen benutzen. Der Rest ist eine Stilentscheidung.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Freak123

BeitragFr, Okt 19, 2012 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab kurz nen Speedtest gemacht.

Code: [AUSKLAPPEN]

Local x=0

Local s=MilliSecs()
For i=0 To 100000000
   x=1-x
Next
Local e=MilliSecs()
Print "Sub: "+(e-s)

Local s2=MilliSecs()
For i=0 To 100000000
   x=Not x
Next
Local e2=MilliSecs()
Print "Not: "+(e2-s2)

Local s3=MilliSecs()
For i=0 To 100000000
   x=x Xor 1
Next
Local e3=MilliSecs()
Print "XOr: "+(e3-s3)

WaitKey


Ergebnis:
Subtrahieren < XOr < Not

Das ganze sollte aber nichts groß ändern, wie man an dem Endwert der Schleife sehr deutlich sieht.

lg
 

Indie-Maker

BeitragSa, Okt 20, 2012 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, danke für eure nette Hilfe ... und eure Vorschläge, werde da mal einige testen.
Eine richtige Muster Lösung gibt es ja meist eh nie so wirklich, aber es ist schon mal gut zu wissen wie andere das so umsetzen !
Kobold
*NEU*Sperrbereich

Ana

BeitragSo, Okt 21, 2012 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ha! Alle abgeschrieben! 6! Setzen!

Zumindest hab ich ja die Variable falsch benannt und alle Anderen auch. Es ist ja nicht KhWert23 sondern KH23Wert Very Happy
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group