3

できる限り多くの機能を調べましたが、TI 矢印キーのクリックをインターセプトできる機能はまだ見つかりません。

4

3 に答える 3

5

「Prog」ボタンで実行される基本プログラムの場合getKey、最後に押されたボタンのキーコードを返すを呼び出す必要があります。矢印ボタンは、コード、、、、およびにマップされて24います。252634

詳細については、TI- BasicDeveloperの「ReadingKeypresses」という見出しの下にあります。

于 2011-08-08T15:54:29.133 に答える
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

ステートメントを通じてロジックを処理する代わりに、「ブール値」(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

于 2013-09-13T18:04:25.980 に答える
2

getkey コマンドでそれを行うことができるはずです。

getkey (Store as) (Variable) A
while A=0
getkey (Store as) A

その後、プログラム全体で変数 A を呼び出すことができます。各キーには、getkey コマンドで呼び出される番号があります。したがって、その変数を次のように使用できます。

If A = 25
...
If A != 25
...

(25 は上向きの矢印になります)

于 2012-08-22T05:17:39.770 に答える