できる限り多くの機能を調べましたが、TI 矢印キーのクリックをインターセプトできる機能はまだ見つかりません。
3 に答える
「Prog」ボタンで実行される基本プログラムの場合getKey、最後に押されたボタンのキーコードを返すを呼び出す必要があります。矢印ボタンは、コード、、、、およびにマップされて24います。252634
詳細については、TI- BasicDeveloperの「ReadingKeypresses」という見出しの下にあります。
これは古い質問であることは承知していますが、この点はまだ関連があると思います。
キー入力を使用して文字を移動したり、何らかの方法で値をシフトしたりする場合は、ほとんどの場合、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
ステートメントを通じてロジックを処理する代わりに、「ブール値」(0 または 1) 値を持つifという事実を利用します。(A=24)したがって、特定の値の場合は 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>=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
この場合、左右の矢印は 10 ずつ進み、上下の矢印は 1 ずつ進みます。X が 109 に達することができる場合、後者が true になるため、(X+10<=100)代わりに使用されます。前者は、10 を追加しても制限を超えないようにします。(X<100)X=99
getkey コマンドでそれを行うことができるはずです。
getkey (Store as) (Variable) A
while A=0
getkey (Store as) A
その後、プログラム全体で変数 A を呼び出すことができます。各キーには、getkey コマンドで呼び出される番号があります。したがって、その変数を次のように使用できます。
If A = 25
...
If A != 25
...
(25 は上向きの矢印になります)