TOUCH |
[機能] タッチパネルのタッチの情報を返します。
[書式] TOUCH(n)
[説明]
n=0 現在のタッチの数 on=1以上 off=0 を返します。
n=1 フリックの X 移動量を返します。(1番のみ)
n=2 フリックの Y 移動量を返します。(1番のみ)
n=3 1番のタッチのID番号を返します。
n=4 1番の X
座標を返します。
n=5 1番の Y 座標を返します。
以下マルチタッチの数に従い3個づつ増えていきます。
n=6 2番のタッチのID番号を返します。
n=7 2番の X
座標を返します。
n=8 2番の Y 座標を返します。
通常のシングルタッチは touch(0) が0以上でオン
座標は x=touch(4) y=touch(5) で取得できます。
フリックの移動量は1番のみ対応です。
nの対応表はversion275から変更になりました。(最終仕様)
旧versionでの対応は以下のものです。
n: 0.X座標
1.Y座標 2.タッチの数 3.X移動量 4.Y移動量
マルチタッチ対応です。それぞれのタッチにはID番号が振られているので
touch(3+tn*3)の取得でIDから個々のタッチを判別するプログラムを書いてください。
タッチIDとnの場所の対応は複数のタッチのon/offが繰り返されると随時変化します。
[例]
マルチタッチの使用例は同梱のサンプルプログラムを参照してください。
smp_touch2.bas 座標の左右別れから判別する2点の複数タッチ(ID未使用)
smp_touch4.bas タッチのIDから判別する4点以上の複数タッチ
TAP |
[機能] タップで入力されるまで待ち状態になります。
[書式] TAP [n]
[説明]
タップされるまで待ち続けます。
n
を指定するとn秒間だけ入力待ちになります。
省略されると待ち時間は無限になります。
[例] 2分間入力待ちしてタップされた座標を表示。
10 tap 120
20 print touch(0);touch(1)
INP |
[機能] キーコードで指定された(ハードウェア)キーのON/OFF状態を調べて -1/0 で返します。
[書式] INP(keycode)
[説明]
[例]
STICK |
[機能] バーチャルパッドの方向を読み取ります。
[書式] STICK(n)
[説明]
n=0 x 方向の入力値を読み取ります。(返し値 -1,0,1)
n=1 y 方向の入力値を読み取ります。(返し値 -1,0,1)
バーチャルパッドはメニューのSoftkeyから選択します。
左側のパッドで方向を指示します。
バーチャルパッドでは
init"kb:n" 命令により n=3 で8方向入力、n=4 で4方向入力の切り替えができます。
機種によりタッチの感度は異なる場合があります。
Bluetooth, NVIDIA-Shield, Xperia-Play
のコントローラーにも対応しています。(参照:操作)
ハードウェアキーボードの矢印キーにも対応しています。
[例]
x = stick(0)
STRIG |
[機能] バーチャルパッドのボタンを読み取ります。
[書式] STRIG(n)
[説明]
n
は0か1で読み取るボタンの番号です。
返し値 オフ:0 オン:1以上
最初に押された時の状態では2を返します。
一度2が読み取られると1にセットされその後のon状態は1を返します。
Bluetooth, NVIDIA-Shield, Xperia-Play
のコントローラーにも対応しています。(参照:操作)
ハードウェアキーボードの[X],[Z]キーにも対応しています。
[例]
bt
= strig(0)
UI_INPUT$ |
[機能] UIダイアログからの入力で入力文字列を返します。
[書式] UI_INPUT$("メッセージ","デフォルトテキスト")
[説明]
各国の固有文字(全角漢字含む)を入力することができます。
入力後OKで決定します。
バックボタンが押されるとダイアログが消えてしまうので
その時はもう一度バックボタンを押して解除する必要があります。
[例]
a$= ui_input$("Name","")
UI_SELECT |
[機能] UIダイアログからの項目選択で選択番号を返します。
[書式] UI_SELECT("1次元文字配列変数名","メッセージ")
[説明]
あらかじめ1次元文字配列を宣言しておきます。
選択する項目名を0番から順に代入していきます。
宣言した配列変数名と表示メッセージを指定して呼び出すと
リスト形式で表示されたダイアログが現れます。
データが空になっている手前まで表示されます。
タッチして選択するとその番号が返されます。
Cancelが押されると-1を返します。
[例] [smp_uisel.bas]
100 dim item$(6)
110
item$(0)="Red"
120 item$(1)="Blue"
130 item$(2)="Yellow"
140 item$(3)="Green"
150 num=ui_select("item$","Color")
160 print num,item$(num)
UI_MSG |
[機能] UI(トースト)により任意のメッセージ文を数秒表示します。
[書式] UI_MSG "メッセージ"
[説明]
[例]
ui_msg"Completed."
UI_TEXT |
[機能] UIダイアログにより任意の文章を表示します。
[書式] UI_TEXT "文字列 | テキストファイル名"
[,文字カラー] [,バックカラー] [,フォントサイズ]
[説明]
文字列が指定された時は直接文字列を表示しますが、末尾が拡張子".txt"になっている時は
テキストファイルと判断してそのテキストファイルを読み込んでから表示します。
スクロールにより長い文章も表示可能です。
文字表示は
init"enc:" で指定されたエンコードの影響を受けます。
文字カラー,バックカラー,フォントサイズが指定できます。
[例]
ui_text
st$,col(13),,24
ui_text "help.txt"
HALT |
[機能] プログラムの実行を完全に停止状態にして画面タッチの割り込みを待ちます。
[書式] HALT
[説明]
完全に停止するのでpause命令のようなバッテリーの消耗はありません。
画面がタッチされて割り込みがかかるとHALT文の次の命令から実行が再開されます。
FUNCのユーザー関数内では使用できません。
UI_BUTTONとの併用でボタンのタッチ選択が可能となります。
[例]
halt
UI_BUTTON |
[機能] ボタンの設定と表示を行い、ボタンの選択を待ちます。
[書式] UI_BUTTON ボタンNo,種類,"表示文字",x1,y1,x2,y2,文字カラー
[説明]
ボタン座標の各種設定を行ったあとで、ボタンを表示させます。
HALT命令にてタッチによる選択待ちにさせて
UI_BUTTON()関数で選択されたボタン番号を取得します。
ボタン設定の書式
ui_button
ボタンNo,種類,"表示文字",x1,y1,x2,y2,文字カラー
ボタンNo
1~64まで指定できます。
ボタンが押されるとこの番号を返します。
また0番はメニュータイトル表示用として使用できます。
種類
ボタンの種類を1~18で指定します。
1~6までは標準ボタンのカラーバリエーションになっています。(青赤グレー緑シアン?)
ボタンNoが0番(メニュー)で種類が省略された場合は種類は7番(シートタイプ)になります。
"表示文字"
ボタンで表示される文字列です。
ボタン座標 x1,y1,x2,y2
ボタンの左上(x1,y1)と右下(x2,y2)の座標を指定します。
LAY関数を併用すると機種間の解像度差が吸収されて簡単な指定ができます。
文字カラー
"表示文字"のカラーを指定します。
ボタン初期化の書式
ui_button -1
-1だけを記述すると設定されたボタンは全て初期化されます。
ボタン表示の書式
ui_button
パラメーターなしの記述で設定されたボタンが全て表示されます。
ボタンはテキスト画面に表示されるのでテキスト画面のプライオリティに準ずることになります。
表示の完了のあとは直後にhalt命令を記述してタッチの選択待ちにして下さい。
選択が行われるとui_button()関数で押されたボタンの番号を取得することができます。
[例]別途長いサンプル"smp_button.bas"も用意されています。
10 ui_button
0,,"Title",250,100,450,200,col(15)
20 ui_button
1,4,"Yes",100,400,300,500,col(15)
30 ui_button 2,4,"No
",400,400,600,500,col(15)
40
ui_button
50 halt
60 print ui_button(0)
UI_BUTTON (関数) |
[機能] UI_BUTTONのボタン機能で押されたボタンの番号を返します。
[書式] UI_BUTTON(n)
[説明]
nは意味を持たない仮のパラメーターです。
UI_BUTTON命令で設定されたボタン番号を数字で返します。
[例] "smp_button.bas"
UI_CLIP |
[機能] クリップボードに指定の文字列をコピーします。
[書式] UI_CLIP 文字列
[説明]
文字列は文字変数や文字式での指定も可能です。
クリップボードのデータは外部アプリともやり取りができます。
[例]
ui_clip "Data-2000"
UI_CLIP (関数) |
[機能] クリップボードの文字列データを取得して返します。
[書式] ui_clip()
[説明]
クリップボードのデータは外部アプリともやり取りができます。
[例]
a$=ui_clip()
print
a$