我已经查看了尽可能多的功能,但我仍然找不到一个可以拦截TI箭头键点击的点击。
答案 0 :(得分:5)
对于使用“Prog”按钮运行的基本程序,您需要调用getKey
,它会返回按下最后一个按钮的键代码。箭头按钮映射到代码24
,25
,26
和34
。
更多信息可在TI-Basic Developer的“阅读键盘”标题下找到。
答案 1 :(得分:3)
我知道这是一个老问题,但我认为这一点可能仍然有用。
如果您使用键输入来移动角色,或以某种方式移动某个值,那么您最好避免使用if-then-else
语句。
最快的方法通常是做这样的事情:
:getkey -> A
:X+(A=24) -> X
:X-(A=26) -> X
:Y+(A=25) -> Y
:Y-(A=34) -> Y
可以进一步浓缩为:
:getkey -> A
:X+(A=24)-(A=26) -> X
:Y+(A=25)-(A=34) -> Y
我们不是通过if
语句处理逻辑,而是利用(A=24)
具有'布尔'(0或1)值的事实。因此,如果它是某个值,我们加1或减1。
设置限制也相当容易:
:getkey -> A
:X+(A=26)(X<=20)-(A=24)(X>0) -> X
:Y+(A=25)(Y<=15)-(A=34)(Y>=3) -> Y
因此,如果(X<20)
它将乘以1,但当X&gt; = 20时,(X<20)
将乘以0,否定了这一点。
我使用另一种技术来帮助我在某些程序中选择值:左右键增加和减少变量的值与上下键不同。但是,它需要更多的逻辑。
:getkey -> A
:X+10(A=26)(X+10<=100)-10(A=24)(X-10>=0) -> X
:Y+(A=25)(Y<15)-(A=34)(Y>3) -> B
在这种情况下,左箭头和右箭头都是数十,上下都是1。 (X+10<=100)
代替(X<100)
,因为后者在X=99
时为真,因此X可以达到109.前者确保添加10不会超过限制。
答案 2 :(得分:2)
您应该可以使用getkey命令执行此操作。
getkey (Store as) (Variable) A
while A=0
getkey (Store as) A
然后你可以在整个程序中调用变量A. 每个键都有一个通过getkey命令调用的数字。 所以你可以使用那个变量,
If A = 25
...
If A != 25
...
(25将是向上箭头)