ich habe festgestellt, dass die SELECT-Anweisung zusätzlich zum dt. Handbuch sowohl im SELECT- als auch im CASE-Zweig Ausdrücke verarbeitet.
Da mir der Unterschied zwischen IS_KEY und IS_PRESSED nicht so klar war, habe ich meine Beispiele damit vollgestopft. Die letzte CASE-Anweisung ist besonders zu beachten.
Als Erstes die klassische Tastenauswahl mit WAIT_CLICK:
- Code: Alles auswählen
@title select a key 1
print "Start und Ende mit SET"
wait_click
print "--- START ---"
do
wait_click
select 1
case is_key "up" ; print "Taste oben"
case is_key "down" ; print "Taste unten"
case is_key "left" ; print "Taste links"
case is_key "right" ; print "Taste rechts"
case is_key "zoom_in", is_key "zoom_out" ; print "eine Zoom Taste"
case_else print "freie Taste"
end_select
until is_key "set"
print "--- ENDE ---"
end
Nun ein Beispiel, bei dem IS_KEY nur noch funktioniert wenn dadurch WAIT_CLICK abgebrochen wird:
- Code: Alles auswählen
rem is_key funktioniert immer nur einmal und
rem nur vor Ende der <WaitTime>! Teste mit Zoom_Out
@title select a key 2
i=0
print "Start und Ende mit SET"
wait_click
print "--- START ---"
do
wait_click 500
select 1
case is_pressed "up" ; print "Taste oben"
case is_pressed "down" ; print "Taste unten"
case is_pressed "left" ; print "Taste links"
case is_pressed "right" ; print "Taste rechts"
case is_pressed "zoom_in", is_key "zoom_out" ; print "eine Zoom Taste"
case_else print "keine/freie Taste [",i,"]"
end_select
i=i+1
until is_pressed "set"
print "--- ENDE ---"
end
Und zum Abschluss habe ich auf WAIT_CLICK ganz verzichtet und IS_KEY hat gar keine Wirkung mehr:
- Code: Alles auswählen
rem is_key funktioniert nicht! Teste mit Zoom_Out
@title select a key 3
i=0
print "Start und Ende mit SET"
wait_click
rem Wartezeit ist erforderlich,
rem sonst wird das Script sofort wieder beendet
rem wegen der SET-Taste für Start und Stop
sleep 500
print "--- START ---"
do
select 1
case is_pressed "up" ; print "Taste oben"
case is_pressed "down" ; print "Taste unten"
case is_pressed "left" ; print "Taste links"
case is_pressed "right" ; print "Taste rechts"
case is_pressed "zoom_in", is_key "zoom_out" ; print "eine Zoom Taste"
case_else print "keine/freie Taste [",i,"]"
end_select
i=i+1
until is_pressed "set"
print "--- ENDE ---"
end
Grüße Rudi