SmileBASIC 4.4.8
リファレンスマニュアル
更新日 2023/12/07
目次
- 命令概要(基本命令)
- 命令概要(表示命令)
- 命令概要(入力、サウンド、その他)
- ダイレクトモード専用命令
- 変数や配列の定義、操作に関する命令
- 制御命令
- 数学関連
- 文字列操作
- その他
- 各種入力
- 各種入力(Toy-Con)
- ファイル
- スクリーン制御
- テキストスクリーン入出力
- グラフィック
- スプライト
- レイヤー
- サウンド
- 高度な演算
- ソースコード操作
- サブプログラム
更新日 2023/12/07
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
特定のファイル種類を表示させたい場合に指定する
・省略時はすべてのファイルを表示する。
一覧を取得したいプロジェクトの名前。
・省略時はカレントプロジェクト内のファイル一覧が表示される。
FILES FILES "TXT:PROJECT"
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
"//" を指定すると、プロジェクト一覧が表示される
FILES "//"
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
特定のファイル種類を取得したい場合に指定する
・省略時は全てのファイルを取得する。
一覧を取得したいプロジェクトの名前
・省略時はカレントプロジェクト内のファイル一覧を取得する。
ファイル一覧が格納された文字列配列
NAMETBL$ = FILES() FOR I=0 TO LAST(NAMETBL$) ?NAMETBL$[I] NEXT
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
"//" を指定すると、プロジェクト一覧を取得する
プロジェクトの一覧が格納された文字列配列
NAMETBL$ = FILES("//") FOR I=0 TO LAST(NAMETBL$) ?NAMETBL$[I] NEXT
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
特定のファイル種類を取得したい場合に指定する
一覧を取得したいプロジェクトの名前。
・省略時はカレントプロジェクト内のファイル一覧を取得する。
・ファイル一覧のファイル名が格納される文字列配列。
・1次元配列の場合取得したファイル数に応じて自動拡張。
DIM NAMETBL$[] FILES NAMETBL$ FOR I=0 TO LAST(NAMETBL$) ?NAMETBL$[I] NEXT
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0となる。
"//" を指定すると、プロジェクト一覧を取得する
・プロジェクト一覧のプロジェクト名が格納される文字列配列。
・1次元配列の場合取得したファイル数に応じて自動拡張。
DIM NAMETBL$[] FILES "//", NAMETBL$ FOR I=0 TO LAST(NAMETBL$) ?NAMETBL$[I] NEXT
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
ファイル種類はTXTのみ指定可能
・省略時はTXTを指定した事になる。
読み込むファイル名
プログラムを読み込むスロット:0~3
・省略時は0。
LOAD "PROGNAME" LOAD "SUBPROG",1
・オフセット指定時はみ出した部分は無視される。
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
GRP,JPGまたはDATを指定できる
・省略時はGRPを指定した事になる。
・DATを指定した場合、二次元整数配列以外のファイルはエラーとなる。
読み込むファイル名
読み込んだ画像データを格納するグラフィックページ:0~5
画像の読み込み先座標
・省略時は0,0を指定した事になる。
読み込んだ画像データの幅と高さ
LOADG "GRPDATA",1 LOADG "DAT:DATA",2,0,64 LOADG "GRPDATA",2 OUT W,H
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
DAT,TXT,GRPを指定可能
・省略できない。
読み込むファイル名
読み込んだファイルの内容
・DAT,GRPを指定した場合、DAT,GRPファイル内のデータを格納した配列を返す。
・DAT,GRPファイルの読み込みに失敗した場合は要素数0の1次元整数解列を返す。
・TXTを指定した場合、TXTファイル内容の文字列を返す。
・TXTファイルの読み込みに失敗した場合は空文字列を返す。
TX$=LOADV("TXT:MEMOFILE") DT=LOADV("DAT:DATAFILE")
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
DAT,GRPを指定可能
・省略できない。
読み込むファイル名
読み込んだデータが格納される配列変数
・読み込むファイルに格納された配列データの次元と、読み込み先配列の次元は一致している必要がある。
・文字列配列を指定する場合、ファイル内のデータも文字列配列をセーブした物である必要がある。
・ファイル内の情報に応じて配列要素数が自動的に拡張される。
DIM MARRAY[] LOADV "DAT:MDATA",MARRAY
・上書きセーブ時は上書き前のファイルが @BACKUP.PRG として保存される。
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
TXTのみ指定可能
・省略時はTXTを指定した事になる。
セーブするプログラムに付けるファイル名
セーブするプログラムのスロット番号:0~3
・省略時は0。
SAVE "TEST" SAVE "TEST2",2
・上書きセーブ時は上書き前のファイルが @BACKUP.GRP という名前で保存される。
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
GRPのみ指定可能
・省略時はGRPを指定した事になる。
セーブファイルに付ける名前
セーブするグラフィックページ:0~5
保存したい領域の左上の座標を指定する(X,Y共に0~2047)
・省略時は0,0を指定した事になる。
保存したい領域のサイズを指定する(幅,高さ共に1~2048)
・始点Xと幅、または始点Yと高さを足した結果が2048を超えるとエラーとなる。
・省略時は2048,2048を指定した事になる。
SAVEG "GRP:GAZOU",0 SAVEG "GAZOU_ICHIBU",3,100,100,300,300
・高圧縮形式は通常の圧縮形式に比べてより小さいファイルで保存できるが、保存するたびに画質が落ちていく(非可逆圧縮)。
・上書きセーブ時は上書き前のファイルが @BACKUP.JPG という名前で保存される。
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
JPGのみ指定可能
セーブファイルに付ける名前
セーブするグラフィックページ:0~5
保存したい領域の左上の座標を指定する(X,Y共に0~2047)
・省略時は0,0を指定した事になる
保存したい領域のサイズを指定する(幅,高さ共に1~2048)
・始点Xと幅、または始点Yと高さを足した結果が2048を超えるとエラーとなる。
・省略時は2048,2048を指定した事になる。
圧縮量と画質を表す値を指定する(1~100)
・数字が小さいほど圧縮率が高くなるが、画質が落ちる。
・省略時は60。
SAVEG "JPG:GAZOU",0,80 SAVEG "JPG:GAZOU_ICHIBU",3,100,100,300,300
・上書き保存時は上書き前のファイルが @BACKUP.TXTまたは@BACKUP.DAT として保存される。
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
TXT,DAT,GRPを指定可能
・省略できない。
保存ファイルに付ける名前
セーブしたいデータを格納した変数
・TXTの場合文字列変数を指定する。
・DATの場合配列を指定する。配列の型や次元には制限がない。
・GRPの場合2次元の整数配列を指定する。
SAVEV "TXT:MEMO",TX$ DIM MAP[10,10] SAVEV "DAT:MAP",MAP DIM IMG%[32,32] SAVEV "GRP:IMG",IMG%
カレントプロジェクトの名前
・DIRECTモードでは実行できない。
・指定スロットの変数、SPFUNC,TFUNC設定内容はクリアされる。
・現在実行中のスロットを指定した場合、実行中のプログラムが指定プログラムに入れ替わり、指定プログラムのENDで実行を終了する。
・現在実行中のスロット以外を指定した場合、指定スロットでプログラムを実行し、END命令を実行するとEXECの次の命令に戻ってくる。
・スロットを指定する場合、現在実行中のスロットと、実行される可能性のあるコードが存在しないスロットのみ指定できる。
TXTのみ指定可能
・省略時はTXTを指定した事になる。
読み込むプログラムのファイル名
プログラムを読み込むスロット:0~5
・省略時は現在実行中のスロットを指定した事になる。
EXEC "SAMPLE" EXEC "SBGED",1
・DIRECTモードでは実行できない。
・指定スロットの変数、SPFUNC,TFUNC設定内容はクリアされる。
・現在実行中のスロットを指定した場合、実行中のプログラムを最初から実行しなおす。
・現在実行中のスロット以外を指定した場合、指定スロットのプログラムを実行し、END命令を実行するとEXECの次の命令に戻ってくる。
・スロットを指定する場合、現在実行中のスロットと、実行される可能性のあるコードが存在しないスロットのみ指定できる。
実行するプログラムのスロット番号:0~5
EXEC 2
調べるファイルの種別
・省略時はTXTを指定した事になる。
調べるファイル名
存在する場合1が、存在しない場合0を返す
A=CHKFILE("SBATTACK") B=CHKFILE("GRP:SBATTACK")
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
削除したいファイルの種別
・省略時はTXTを指定した事になる。
削除したいファイル名
DELETE "TEST" DELETE "GRP:PICTURE"
・実行結果はRESULT関数で取得できる。
・RESULTの値は、成功時は1、失敗時は0、キャンセル時は-1となる。
名前を変更したいファイルの種別
・省略時はTXTを指定した事になる。
名前を変更したいファイル名
変更先ファイルのファイル種類
・ファイル種類1と異なる場合エラー。
・省略時はファイル種類1と同じ物となる。
変更先のファイル名
RENAME "TEST1","TEST2" RENAME "GRP:PICTURE1","PICTURE2"