SmileBASIC 4.4.8
リファレンスマニュアル
更新日 2023/12/07
目次
- 命令概要(基本命令)
- 命令概要(表示命令)
- 命令概要(入力、サウンド、その他)
- ダイレクトモード専用命令
- 変数や配列の定義、操作に関する命令
- 制御命令
- 数学関連
- 文字列操作
- その他
- 各種入力
- 各種入力(Toy-Con)
- ファイル
- スクリーン制御
- テキストスクリーン入出力
- グラフィック
- スプライト
- レイヤー
- サウンド
- 高度な演算
- ソースコード操作
- サブプログラム
更新日 2023/12/07
・引数を指定すると、一部の設定のみリセットせずに保存することができる。
1を指定するとフォントページを除いたグラフィックページをクリアせずに保存する
・省略時は0。
1を指定するとSPDEFの内容を保存する
・省略時は0。
1を指定するとフォントページをクリアせずに保存する
・省略時は0。
1を指定するとANIMDEFで定義した内容をクリアせずに保存する
・省略時は0。
'ACLSは次のプログラムとほぼ同じ動作となる DEF ACLS KEEPGRP,KEEPSPDEF,KEEPGRPF VAR SCW=400,SCH=240 XSCREEN SCW,SCH,2 SPCLR BACKCOLOR &HFF000000 FOR I=0 TO 3 TSCREEN I,16,16:TPAGE I,4,1024,0 TLAYER I,0:TOFS I,0,0,0:ATTR I,0 COLOR I,#C_WHITE:CLS I NEXT TSCREEN #TCONSOLE,16,8:TPAGE #TCONSOLE,4,1024,0 TLAYER #TCONSOLE, 0:TOFS #TCONSOLE,0,0,-4095:ATTR 0 COLOR #C_WHITE:CLS IF !KEEPGRP THEN FOR I=0 TO 5:GTARGET I:GCLS:NEXT LOADG "GRP:#SYS/DEFGRP",4 ENDIF IF !KEEPGRPF THEN LOADG "GRP:#SYS/DEFFONT",#GRPF ENDIF GTARGET 0 GCOLOR #C_WHITE GCLIP 0,0,#GRPWIDTH-1,#GRPHEIGHT-1 SPSET #GSPRITE,0,0,SCW,SCH,0,1 SPPAGE #GSPRITE,0 SPLAYER #GSPRITE,0 SPOFS #GSPRITE,0,0,4095 IF !KEEPSPDEF THEN SPDEF ENDIF ANIMDEF FOR I=0 TO 7:LAYER I:LFILTER I:LCLIP I:LMATRIX I:NEXT FADE 0 END
・コンソール(テキストスクリーン4)のサイズは幅,高さに合わせて変更される。
・それ以外のテキストスクリーン設定は変わらない。
・グラフィック表示用スプライトの設定は幅,高さに合わせて変更される。
画面の幅と高さをピクセル数で指定する
幅:128~1280
高さ:128~720
・幅・高さとも4で割り切れる数を指定可能。
ピクセルをさらに細かく分割して、回転や拡大をよりなめらかに表現する事ができる
・1以上、幅にサンプル倍率をかけた物が1280以内、高さにサンプル倍率をかけた物が720以内の値まで指定可能。
・省略時は1。
BASIC画面を最終的に表示画面に合成する際の描画方法を指定する
0 | バイリニア |
1 | スマートニアレストネイバー |
2 | ニアレストネイバー |
・0はピクセルの角がなめらかになるが、全体にぼやけた表示になる。
・2は全体的にくっきりした表示になるが、ピクセルの角がギザギザになる。
・1は0と2の中間。
・省略時は0。
画面の縦横比:0.1~10
・1で正方形、1より小さいと縦長に、1より大きいと横長になる。
・省略時は幅/高さが設定される。
画面の幅と高さ(ピクセル数単位)
・定義したアニメーションはSPANIMやTANIM命令で使用できる。
アニメーション定義番号:0~1023
変化させる要素を管理する数値または文字列
0 | "XY" | XY座標 |
1 | "Z" | Z座標 |
2 | "R" | 回転角度 |
3 | "S" | 倍率XY |
4 | "C" | 表示色 |
5 | "V" | 変数(スプライト変数7の値) |
6 | "UV" | UV座標(定義元画像座標) |
7 | "I" | 定義番号 |
・文字列の末尾に"+"を付けるか、数値に8を加えるとアニメーション開始時点からの相対値となる。
・文字列の末尾に"."を付けるか、数値に16を加えるとアニメーション終了時にスプライトを削除する。
アニメデータが格納された1次元数値配列
ループ回数:1~
・0を指定することで無限ループとなる。
・省略時は1。
・アニメデータは数値配列に次の順で用意(最大32個まで)。
・時間1,項目1,[項目2,] 時間2,項目1,[項目2,]…。
DIM PANIM[ 6 ] PANIM[0]=-60 'frame(-60=smooth) PANIM[1]=200 'offset X,Y PANIM[2]=100 PANIM[3]=-30 'frame PANIM[4]=50 'offset PANIM[5]=20 ANIMDEF 0,"XY",PANIM
・定義したアニメーションはSPANIMやTANIM命令で使用できる。
アニメーション定義番号:0~1023
変化させる要素を管理する数値または文字列
0 | "XY" | XY座標 |
1 | "Z" | Z座標 |
2 | "R" | 回転角度 |
3 | "S" | 倍率XY |
4 | "C" | 表示色 |
5 | "V" | 変数(スプライト内部変数7の値) |
6 | "UV" | UV座標(定義元画像座標) |
7 | "I" | 定義番号 |
・文字列の末尾に"+"を付けるか、数値に8を加えるとアニメーション開始時点からの相対値となる。
・文字列の末尾に"."を付けるか、数値に16を加えるとアニメーション終了時にスプライトを削除する。
アニメデータが格納されたDATA命令の先頭ラベル
ラベルのかわりにラベル名の入った文字列も指定可能
ループ回数:1~
・0を指定することで無限ループとなる。
・省略時は1。
アニメデータはDATA命令に次の順で用意
DATA キーフレーム数(最大32)
DATA 時間1,項目1[,項目2]
DATA 時間2,項目1[,項目2]
:
@MOVDATA DATA 2 'counter DATA -60,200,100 'frame,offset DATA -30,50,20 'frame,offset ANIMDEF 0,"XY",@MOVDATA
・定義したアニメーションはSPANIMやTANIM命令で使用できる。
アニメーション定義番号:0~1023
変化させる要素を管理する数値または文字列
0 | "XY" | XY座標 |
1 | "Z" | Z座標 |
2 | "R" | 回転角度 |
3 | "S" | 倍率XY |
4 | "C" | 表示色 |
5 | "V" | 変数(スプライト内部変数7の値) |
6 | "UV" | UV座標(定義元画像座標) |
7 | "I" | 定義番号 |
・文字列の末尾に"+"を付けるか、数値に8を加えるとアニメーション開始時点からの相対値となる。
・文字列の末尾に"."を付けるか、数値に16を加えるとアニメーション終了時にスプライトを削除する。
・アニメデータそのもの(必要な数分並べる、最大32個)。
ループ回数:1~
・0を指定することで無限ループとなる。
・省略時は1。
ANIMDEF 0,"XY",-60,200,100,-30,50,20
クリアするアニメーション定義番号:0~1023
ANIMDEF 0
ANIMDEF
背景色の色コード
設定されている背景色の色コード
・フェード色で塗りつぶしたスプライトを画面全体にかぶせるのと同じ効果となる。
フェード色の色コード
・アルファ成分が大きいほど濃く色が乗る。
・指定時間をかけて現在のフェード色から指定色に徐々にフェード色を変更する。
フェード色の色コード
・アルファ成分が大きいほど濃く色が乗る。
・アルファ成分が255だとフェードアウト効果。
・アルファ成分が0だとフェードイン効果。
フェード効果にかける時間をフレームカウントで指定する
・処理落ちがない場合、60で1秒。
現在のフェード色
・フェードイン・フェードアウト中の色も取得できる。
フェードイン・フェードアウト中であれば1、していない時は0