[PEN] 関数
ライトペン(マウス クリック)から情報を得ます。
文法 PEN(<機能>)
文例 X=PEN(1)
ライトペン(マウスのクリック)による割り込みの許可、禁止、停止を制御します。
ライトペンは入手不可の時代で、かつ液晶Displayでは使用不可ですので、
マウスによる左ボタンクリックをもって代用します。
ライトペンによる画面のテキスト座標(X, Y)X=0 〜 79,Y=0 〜 24
の取り出しに使用します。
従って、マウスがクリックされた位置のテキスト座標(X, Y)となります。
尚、MBASIC86ではマウスによる画面でのカーソル移動が可能です。
カーソル位置のテキスト座標取り出し([PEN] 関数の使用)のためには、
PEN ON の実行が必要です。
ライトペン(マウス クリック)が、現在どのような状態にあるかの情報を得ます。
ライトペン(マウス クリック)からの情報には、ライトペンが押され、
光を感じた(マウス クリック)瞬間のもの(トリガセンス)とライトペンが押されて
光を感じている間(カーソルがその位置におかれている)のもの(レベルセンス)があります。
<機能>に指定した値により、次のような情報が得られます。
0 :トリガセンス
ペンが押された(マウス クリック)瞬間、光を感じたら-1(真)、光を感じない(マウ
スがクリックされない)と0(偽)となる。
この機能を使用した場合、PEN関数は一度真になると
ON PEN GOSUB で定義されている割り込み処理ルーチンに
入るまでその値を保持し、処理ルーチンに入ったときに偽となる。
1 :レベルセンス
ペンが押されて光を感じている限り、現在ペンが置かれているキャラクタ座標の
水平座標(X)を得る。
2 :レベルセンス
ペンが押されて光を感じている限り、現在ペンが置かれているキャラクタ座標の
垂直座標(Y)を得る。
注意:<機能>に指定できる値は 0 〜 2 の範囲で、
それ以外は "Illegal function call"エラーとなります。
またこの関数はPEN ON の状態でなければ値を得ることができません。
10 ON PEN GOSUB 100
20 PEN ON
30 GOTO 30
40 END
100 X=PEN(1)
110 Y=PEN(2)
120 PRINT X,Y
130 RETURN
900 END
30 で割り込みが有るまで待機しています。
ペン(マウス クリック)による割り込みがあれば、
100 以降でテキスト座標を取り出し、PRINTします。
参照:[ON_PEN_GOSUB] 、[PEN_ON/OFF/STOP] 、
[SAMPLE49] PEN割り込みルーチン