Stap 7: Qbasic notities.
STRIG()Syntaxis:
STRIG(n)
Waarde(n) als resultaat:
De status van de opgegeven joystick-knop (trigger).
Zie ook: STICK()
Er zijn twee statussen voor elke knop op elke joystick, maken de geldige waarden voor n variërend van 0 tot en met 7. De geretourneerde waarde van de STRIG(n) zullen beide 0 (inactief) of -1 (actief). De volgende grafiek toont wat wordt aangegeven wanneer de waarde van STRIG() -1 is.
STRIG(0) 1 joystick 1 op gedrukt sinds laatste STRIG(0)
STRIG(1) ingedrukt 1 momenteel
STRIG(2) 2 op de joystick 1 ingedrukte knop sinds laatste STRIG(2)
STRIG(3) ingedrukt 2 momenteel
STRIG(4) 1 joystick 2 op gedrukt sinds laatste STRIG(4)
STRIG(5) ingedrukt 1 momenteel
STRIG(6) 2 op de joystick 2 ingedrukte knop sinds laatste STRIG(6)
STRIG(7) ingedrukt 2 momenteel
De vele combinaties van STRIG() uitvoer inschakelen uiterst gedetailleerde lezing van de joysticks knoppen. In tegenstelling tot de STICK()-functie, de functie van STRIG is gebaseerd op digitale ingang, en is dus zeer betrouwbaar.
Als u geïnteresseerd bent in een burgler alarm bedrading aan uw deur, of het maken van een soortgelijk project, krijgen een goedkope joystick uit elkaar te halen. Voeg draden aan het fysieke bereik van de knoppen uitbreiden, draad hen tot en met andere apparaten, en zie wat je kunt bereiken. Het is geweldig leuk levensechte input krijgen in de computer!
---------------------------------------------------------------
STICK()
Syntaxis:
Stick(n)
Waarde(n) als resultaat:
De huidige waarde van de opgegeven joystick-coördinaat.
Zie ook: STRIG()
De variabele STICK() is eigenlijk een kleine matrix met de vier waarden: de x-en y-pair of joystick 1 en de x-en y-pair voor joystick 2. Geldige waarden voor n zijn 0 tot en met 3.
joy1x = STICK(0)
joy1y = STICK(1)
joy2x = STICK(2)
joy2y = STICK(3)
Een belangrijk detail van de STICK matrix is dat de waarden van STICK(1), STICK(2) en STICK(3) zijn "vernieuwd" alleen wanneer STICK(0) wordt verwezen. Daarom moet gewoon bellen STICK(1) zonder STICK(0) geen verandering veroorzaken in waarde, ondanks de beweging van de joystick terug.
Sinds de ontwikkeling van computers buiten de XT-PC (a.k.a 8086), hebben de joysticks worden meer en meer incompatibel met QBasic programmering, dus perfecte resultaten niet verwachten. Het volgende programma moet uitprinten van de huidige x-en y-coördinaten van de joystick. Ze kunnen vervolgens vertaald worden in welke vorm dan ook nodig:
Start:
PRINT "Joystick1 x:", STICK(0)
PRINT "Joystick1 y:", STICK(1)
GOTO start