Keyhit - Würde ich klasse finden ...

Previous topic - Next topic

Schranz0r

Hi Leute


Ich schuster mir grade einen mit der Demo ab XD....
Finde GLBasic richtig klasse, da es in den meisten Hinsichten recht einfach zu Handhaben ist.
Dafür ein DICKES LOB an den/die Entwickler.

Was mir aber aufgefallen ist, und was ich bei z.B. BlitzBasic habe , ist die Function Keyhit(key#).
Ich denke das es sinnvoll wäre, einen einfachen Tastendruck mit Keyhit() ab zu fragen.

Man kann es natürlich auch Programmiertechnisch lösen um einen einfachen Tastendruck zu ermitteln, aber schöner und übersichtlicher finde ich Keyhit(), und nebenbei spart man sich noch einiges an Tiparbeit. ;)

Zur Erklärung falls es einer nicht versteht was ich meine:

Wenn ich einen toggleknopf machen will, und ich damit ON - OFF mache, und ich nun diesen knopf(Taste) kurz gedrücke Spring er mir immer zwischen ON und OFF hin und her.
Dazu kommt noch wenn man jetzt anmachen will, das es ein zufall ist , wenn man auch auf ON kommt.

Deshalb hab ich hier so meine lösung gefunden:

Code (glbasic) Select
WHILE KEY(1) = 0
IF KEY(49)=0 THEN Press = 0

IF KEY(49) = TRUE AND Press = 0
Net = Net + 1
Press = 1
ENDIF

IF Net > 1 then Net = 0
Schöner wäre da :
Code (glbasic) Select
WHILE KEY(1) = 0
IF KEYHIT(49) = TRUE THEN Net = Net + 1
IF Net > 1 then Net = 0
Grüße Schranz0r
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

mannybass

Schau mal heir nach: http://www.glbasic.com/forum/viewtopic.php?id=680
Da ist ne Funktion, die du verwenden kannst.

Schranz0r

Ja ist ne möglichkeit, aber wenn man eh schon regelmässig Updates macht, kann man das ja mit beifügen, ich denke es ist auch nicht so der aufwand ;)

Und wie gesagt, sieht schicker aus .
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

BumbleBee

Aber das sind doch nur ein paar Zeilen die man da schreiben muß.Außerdem brauchst du das eh nur einmal schreiben.
So eine KeyHit Funktion übernimmst du dann in deine Projekte und rufst sie  nur noch auf.

  KEYHIT()

und damit hast du deinen GLBasic KEYHIT Befehl. Mehr mußt du dann nie mehr machen.
Naja, außer die anderen Sachen halt.;)

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Schranz0r

Klar kann man das machen, aber man muss dan jedesmal drauf achten, die Function auch mit im Quellcode ein zu binden. Und das ist doch nervig ;)

Ich finde trotzdem das Keyhit() ein Bestandteil der Syntax werden sollte, da ich mir vorstellen kann, das man es sehr oft braucht, und daher ja auch sinn machen würde.

Und das grade für Anfänger !


Schönen tag noch...
Ich geh mal Geburtstag in der Arbeit feiern -.- .....
Dumme spätschicht ^^
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

D2O

Hi Schranz0r, schön noch einen weiteren aus der BB ecke hier zu sehen.
Komme selber von dort, bin da als D²O unterwegs :)

Zurück zum Thema:
Vieleicht wäre hier ein Ordner im Insatallation verzeichnis nicht schlecht, so a'la "User", wo GLBasic standartmässig mit reinschaut
ob dort ein Template/Code mit drin ist und die befehle/functionen automatisch mit einbindet.

Ich finde durch das "STATIC"  kann man sehr gut solche Functionen die Abgekapselt sind, in verbindung mit TYPE ist das fast schon ne Klasse,
schreiben ohne auf globale Variablen zurück zugreifen.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Schranz0r

Hi Slayer, wäre eine schicke Alternative !

Aber sag doch mal ehrlich, Keyhit() vermisst du auch oder ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Gerade auf den kleinen Geräten kostet das halt alles Zeit. Und wenn man's dann nicht braucht, dann nervt's. Ausserdem find' ich es total einfach so eine Datei mit in's Projekt zu übernehmen und dann hat man ja alle Befehle die man braucht.
Wenn ich für jeden Pipifax einen eigenen Befehl mach', dann wird's für Einsteiger unheimlich unübersichtlich. Ich versuche die Befehle so gering wie möglich zu halten.

WPShadow

Hi!

Ich habe da bloß eine knappe Frage:

Läßt sich der Befehl KEY() nicht mit einem Parameter erweitern? So ca. 0 = normal, 1 = Keyhit oder so?

War bloß eine Idee, also nicht böse sein... =)

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

D2O

Quote from: Schranz0rHi Slayer, wäre eine schicke Alternative !

Aber sag doch mal ehrlich, Keyhit() vermisst du auch oder ;)
Ja ;)
Es ist etwas gewöhnungs bedürftig, aber ich kann mich der lösung von Gernot Arrangieren.

Ich habe mir in meinem Projektverzeichnis ein CodeTemplate Ordner angelegt, dort kommen so nach und nach meine spezielen funktionen rein.

@ Gernot, hmm.
Das schaut eben so aus als ob wir Dich etwas generft hätten :(
Nimms uns nicht so übel das wir so Quengelig sind  :nw:  ;)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

Nein, kein Problem. Ich hab's mir angesehen, und es ist intern nicht ganz einfach zu machen. Vielleicht pack' ich's irgendwann doch mal an.
Im Ordner Samples/Common sind viele Sachen, die ich so immer wieder mal verwende.

Schranz0r

@ Slayer

Guter Tip mit den Ordner mit Codeschnipsel / Functions
Werd ich jetzt auch so machen !


@ Gernot

Was willst du vieleicht mal reinpacken?
Das Keyhit() oder ein Ordner der immer dem Project als Erweiterung dient ?


Schönen Tag euch allen noch...

Grüße!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard