SmileBASIC 4.4.8
リファレンスマニュアル
更新日 2023/12/07
目次
- 命令概要(基本命令)
- 命令概要(表示命令)
- 命令概要(入力、サウンド、その他)
- ダイレクトモード専用命令
- 変数や配列の定義、操作に関する命令
- 制御命令
- 数学関連
- 文字列操作
- その他
- 各種入力
- 各種入力(Toy-Con)
- ファイル
- スクリーン制御
- テキストスクリーン入出力
- グラフィック
- スプライト
- レイヤー
- サウンド
- 高度な演算
- ソースコード操作
- サブプログラム
更新日 2023/12/07
・Toy-Conを使用する場合、操作スタイルは専用スタイルを使用する。
・通常ジョイコンとしての情報は、BUTTON,STICK,ACCEL,GYROA,GYROVで2本持ちスタイル相当として取得できる。
・Toy-Con使用中はIRカメラ命令は使用できない。
・接続確認画面の操作結果はRESULT関数で確認できる(1:成功,-1:キャンセル)。
・サブプログラムからの呼び出しは無視される。
接続したい最大のコントローラー数を指定する:1~2
Toy-Conを使用する場合操作スタイルに100を指定する
認識するToy-Conの種類を左右別に設定する
左 | 右 | |
---|---|---|
0 | ToyCon認識OFF | ToyCon認識OFF |
1 | × | ピアノ |
2 | × | おうち |
3 | △バイク | △バイク |
4 | △つり | △つり |
5 | × | ロボット |
6 | バイザー | × |
7 | △クルマ | △クルマ |
8 | △ヒコウキ | △ヒコウキ |
9 | △センスイカン | △センスイカン |
10 | 7,8,9すべて | 7,8,9すべて |
・×となっている値は指定できない。
・バイザーは左にのみ指定可能。
・ピアノ、おうち、ロボットは右にのみ指定可能。
・△のついた種類は左右両方に指定しなければならない。
・10はカギToy-Conの装着により7,8,9を自動で切替える。
コントローラー接続画面を必ず表示するかどうかを指定する
・1を指定すると、コントローラー接続画面が必ず表示される。
・0を指定すると、設定が変わった時だけコントローラー接続画面が表示される。
・省略時は0。
・XCTRLSTYLEでToy-Con種類に1以外を指定するとエラーとなる。
・キー・ボタン情報以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
ピアノToy-Conを認識しているかどうかを返す
・1で認識中。0で認識していない。
ピアノToy-Conのキー・ボタン状況をビット毎に返す
各ビットの意味は次の通り
bit0 | ド |
bit1 | ド♯ |
bit2 | レ |
bit3 | レ♯ |
bit4 | ミ |
bit5 | ファ |
bit6 | ファ♯ |
bit7 | ソ |
bit8 | ソ♯ |
bit9 | ラ |
bit10 | ラ♯ |
bit11 | シ |
bit12 | ド(1オクターブ上) |
bit13 | 読み込みボタン |
bit14 | オクターブアップ |
bit15 | オクターブダウン |
bit16 | 再生ボタン |
bit17 | 録音ボタン |
ToyConに挿入されているダイアルの種類
0 | 挿入していない、認識できない |
1 | 太線 |
2 | 細線 |
3 | 2本線 |
4 | 中線 |
ダイアルが挿入されている場合の回転角速度
・時計回りに1周で1.0、反時計回りに1周で-1.0。
・XCTRLSTYLEでロボットToy-Conの認識を開始しない状態で使用するとエラーとなる。
情報を取得するコントローラーのID:1~2
ロボットToy-Conの各スロットを認識しているかどうかをビット値で返す
・各ビット1で認識中、0で認識していない。
bit0 | 右足 |
bit1 | 右手 |
bit2 | 左手 |
bit3 | 左足 |
各スロットの情報が格納された2次元数値配列を返す
配列要素を[Y,X]とした時のYとXの意味は次の通り
Y=0 | 右足 |
1 | 右手 |
2 | 左手 |
3 | 左足 |
X=0 | 補正済検出値:0~1 |
1 | 補正前検出値:0~320 |
2 | 補正最小値:0~320 |
3 | 補正最大値:0~320 |
4 | 対応するクラスタID |
ロボットToy-Conを背負った状態での姿勢角度情報
・角度の単位はラジアン。
ピッチ | 前後の傾き。Toy-Conを背中側に傾けると正(値が大きくなる) |
ロール | 左右の傾き。Toy-Conを左側に傾けると正 |
ヨー | 腰の回転。反時計まわりに回転させると正 |
・XCTRLSTYLEでロボットToy-Conバイザーの認識を開始しない状態で使用するとエラーとなる。
情報を取得するコントローラーのID:1~2
バイザーを正しく認識している場合は1、認識していない場合は0が返る
バイザーの姿勢角度情報
・バイザーを頭に装着した状態を想定している。
・角度の単位はラジアン。
ピッチ | バイザー上げ下げの傾き。Toy-Conを上げると正(値が大きくなる) |
ロール | 頭の左右の傾き。首を左に傾けると正 |
ヨー | 頭の回転。反時計まわりに回転させると正 |
・XCTRLSTYLEでおうちToy-Conの認識を開始しない状態で使用するとエラーとなる。
情報を取得するコントローラーのID:1~2
おうちToy-Conを認識しているかどうかを返す。1で認識中。0で認識していない
各差し込み口の情報が格納された2次元数値配列を返す
配列要素を[Y,X]とした時のYとXの意味は次の通り
Y=0 | 下差し込み口 |
1 | 左差し込み口 |
2 | 右差し込み口 |
・X=0に次のように差し込まれているブロックのタイプが格納される。
0 | ブロックなし |
1 | くるくる |
2 | ぷすぷす |
3 | ねじねじ |
4 | ケーブル1 |
5 | ケーブル2 |
・X=1以降は次のような値が格納される。
X | くるくる | ぷすぷす | ねじねじ | その他 |
---|---|---|---|---|
1 | 回転速度 | フラグ | フラグ | 0 |
2 | 0 | 押し量 | ねじり量 | 0 |
3 | 0 | 0 | 差し込み向き | 0 |
・くるくるの回転速度は-1~1の値で、0で静止。
・ぷすぷすのフラグは次のとおり。
bit0 | 押されている |
bit1 | 押した瞬間 |
・ぷすぷすの押し量は0~1.0。0で全く押されていない。
・ねじねじのフラグは1でつまみを離した瞬間、0で離していない。
・ねじり量は0~1.0。0で全くねじっていない。
・差し込み向きは0かそれ以外で、ねじねじを縦に刺したか横に刺したかをあらわす。
・XCTRLSTYLEでつりToy-Conの認識を開始しない状態で使用するとエラーとなる。
・釣り竿ヨー以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
つりToy-Conを認識しているかどうかを返す。1で認識中。0で認識していない
・認識方法は、左右Joy-ConをつりToy-Conに装着し、認識フラグが1を返すまで静止させておく。
釣り竿のヨー(左右の角度)を-1.0~1.0の値で取得する
・左が正の値、右が負の値で、0が中央。
・左右に動かさない場合でも徐々に0に戻る。
釣り竿のピッチ(上下の角度)を-1.0~1.0の値で取得する
・上向きが正の値、下向きが負の値で、0が水平。
リールの巻き速度を取得する
・釣り竿を持って奥側に回すと正の値、手前側に回すと負の値で、0が静止。
・一周で1.0となる。
釣り竿のヨー(左右の角度)をラジアンで取得する
・左が正の値、右が負の値で、0が中央。
・左右に動かさない場合でも徐々に0に戻る。
釣り竿のピッチ(上下の角度)をラジアンで取得する
・上向きが正の値、下向きが負の値で、0が水平。
・XCTRLSTYLEでバイクToy-Conの認識を開始しない状態で使用するとエラーとなる。
・ハンドル傾き以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
バイクToy-Conを認識しているかどうかと、操作ボタンの状態をビット値で返す
0 | 認識していない |
bit0 | 認識中 |
bit1 | ブレーキレバー |
bit2 | 左手前ボタン |
bit3 | 右手前ボタン |
・認識方法は、左右Joy-ConをバイクToy-Conに装着し、認識フラグが0以外の値を返すまで静止させておく。
・認識していない場合ボタン状態はかならず0になる。
ハンドルの傾き量を-1.0~1.0の値で取得する
・左に傾けると正の値、右に傾けると負の値、0が水平。
アクセルのひねり量を0~1.0の値で取得する
・ひねっていない状態で0を返す。
アクセルのひねり角度をラジアンで取得する
・ひねっていない状態で0を返す。
バイクToy-Conを上に向けた時の角度をラジアンで取得する
・XCTRLSTYLEでToy-Con種類に7または10を指定しないとエラーとなる。
・アクセル以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
クルマToy-Conを認識しているかどうかと、操作ボタンの状態をビット値で返す。
0 | 認識していない |
bit0 | 認識中 |
bit1 | カギToy-Conボタン |
アクセルペダルの踏み込み量:0~1.0
ハンドルの回転量: -1.0~1.0
・-1.0で左180°、1.0で右180°、0でまっすぐ。
・180°以上ハンドルを回転しても上限・下限値を維持する。
ハンドルの回転角度:-0.5~0.5
・-0.5で左180°、0.5で右180°、0でまっすぐ。
・180°以上ハンドルを回転すると値が反転する。
左レバーの操作量:0~1.0
右レバーの操作量:0~1.0
ひもの引き量:0~1.0
サイドレバーの操作量:0~1.0
左右レバーのギミックダイアル位置:0~4
・XCTRLSTYLEでToy-Con種類に8または10を指定しないとエラーとなる。
・アクセル以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
ヒコウキToy-Conを認識しているかどうかと、操作ボタンの状態をビット値で返す。
0 | 認識していない |
bit0 | 認識中 |
bit1 | カギToy-Conボタン |
bit2 | トリガーボタン |
アクセルペダルの踏み込み量:0~1.0
スティック左右方向の傾き:-1.0~1.0
・-1.0で左いっぱい,-1.0で右いっぱい、0で中央。
スティック前後方向の傾き:-1.0~1.0
・-1.0で奥いっぱい,-1.0で手前いっぱい、0で中央。
・XCTRLSTYLEでToy-Con種類に9または10を指定しないとエラーとなる。
・アクセル以降の返値はすべて省略可能。
情報を取得するコントローラーのID:1~2
センスイカンToy-Conを認識しているかどうかと、操作ボタンの状態をビット値で返す。
0 | 認識していない |
bit0 | 認識中 |
bit1 | カギToy-Conボタン |
bit2 | センスイカンToy-Conボタン |
アクセルペダルの踏み込み量:0~1.0
左側ハンドルの回転角度:-0.5~0.5
・-0.5で-180°、0.5で180°をあらわす。
・180°以上ハンドルを回転すると値が反転する。
右側ハンドルの回転角度:-0.5~0.5
・-0.5で-180°、0.5で180°をあらわす。
・180°以上ハンドルを回転すると値が反転する。
・XCTRLSTYLEでToy-Conを使用する設定にしていないとエラーとなる。
情報を取得するコントローラーのID:1~2
次のいずれかの値
0 | 未認識 |
7 | クルマ |
8 | ヒコウキ |
9 | センスイカン |
・XCTRLSTYLEでToy-Con種類として7,8,9,10を指定してる時のみ0以外の値を返す。