2013年4月23日火曜日

X-BASIC/68とほぼ同機能となる関数

ここでは、X-BASIC/68とX-BASIC for iOSでほぼ同機能となる関数またはステートメントについて記述します。

機能 画像読み込み
X68版書式 int img_load(st;str[,x;int][,y;int][,b;int])
iOS版書式 int imgLoad(sx;float,sy;float,wx;float,wy;float,fname;str)
int picLoader(sx;float,sy;float,fname;str)
int pic_load(sx;float,sy;float,fname;str)
int cutLoader(sx;float,sy;float,fname;str)
int cut_load(sx;float,sy;float,fname;str)
相違点 imgLoad()はX68のべた画像フォーマット(GM?/GL?/GS?)をサポートしません。
技術的には可能なのですが、無用でしょうから。

機能 画像書き出し
X68版書式 int img_save(st;str[,x;int][,y;int])
iOS版書式 int jpegSave(fname;str,quality;int)
int pngSave(fname;str)
相違点 iOS版はX68のべた画像フォーマットでの書き出し(GM?/GL?/GS?)をサポートしません。
技術的には可能なのですが、無用でしょうから。

機能 テキスト画面色設定
X68版書式 color 属性
iOS版書式 tcolor(r;int[,g;int,b;int[,alpha;int]])
tatrb(atrb;int)
font(fontName;str[,pointSize;float])
相違点 iOS版では関数になり、 色指定はtcolor()、リバースはtatrb()、強調(ボールド)はfont()でフォントそのものの違いとして指定し分けます。

機能 画面全体のコントラストを指定する
X68版書式 contrast(ch;char)
iOS版書式 tBackgroundAlpha(alpha;float)
gBackgroundAlpha(alpha;float)が近い
相違点 厳密に言えば両者は異なりますが、実質的に同じ働きをします。
ただし、テキスト画面及びグラフィック画面はページ毎に独立制御になります。

機能 ファンクションキーの設定
X68版書式 key ファンクションキー番号,"文字列"
iOS版書式 setFunctionKey(no;int,title;str,keyCode;int)が近い
相違点 ファンクションキー番号の範囲が異なります。
また、 keyステートメントは設定した文字列がそのままinput等で入力されるのに対し、 setFunctionKey()は設定したキーコードを返します。
(iOSには基本的にキーコードという概念がないから。)

機能 マウスカーソル座標を得る
X68版書式 mspos(x;int,y;int)およびmsstat(x;int,y;int,bl;int,br;int)
iOS版書式 int getTouchPoint(xys;float1次元配列)が近い
相違点 iOSではマルチタッチが可能なため、座標は配列で返されます。

機能 ドット色を得る
X68版書式 int point(x;int,y;int)
iOS版書式 int bitmapPoint(x;int,y;int[,r;int,g;int,b;int,alpha;int])が近い
相違点 iOSではグラフィック画面のドット色を直接得る関数はありません。
ただし、bitmapOpen(fdirect=YES)時にはbitmapPoint()が同等の機能を果たします。

機能 単色領域内を塗りつぶす
X68版書式 int paint(x;int,y;int,col;int)
iOS版書式 int bitmapPaint(x;int,y;int[,r;int,g;int,b;int,alpha;int])が近い
相違点 iOSではグラフィック画面で単色領域を直接塗りつぶす関数はありません。
ただし、bitmapOpen(fdirect=YES)時にはbitmapPaint()が同等の機能を果たします。

機能 ドットデータを配列に読み込む
X68版書式 get(sx;int,sy;int,ex;int,ey;int,na;数値型一次元配列)
iOS版書式 bitmapGet(sx;int,sy;int,ex;int,ey;int,buff;int型一次元配列)が近い
相違点 iOSではグラフィック画面からドットデータを直接取得する関数はありません。
ただし、bitmapOpen(fdirect=YES)時にはbitmapGet()が同等の機能を果たします。
格納データには互換性はありません。。

機能 配列内のドットデータをグラフィック画面に描画する
X68版書式 put(sx;int,sy;int,ex;int,ey;int,na;数値型一次元配列)
iOS版書式 bitmapPut(sx;int,sy;int,ex;int,ey;int,buff;int型一次元配列)が近い
相違点 iOSでは配列内のドットデータを直接グラフィック画面に直接描画する関数はありません。
ただし、bitmapOpen(fdirect=YES)時にはbitmapPut()が同等の機能を果たします。

機能 ファイル名一覧を得る
X68版 files "パス名"
iOS版 int files(pathes;1次元文字列配列[,basedir;str][,ext;str][,fhave;int][,mode;int][,freg;int])
相違点 X68では指定パス内のファイルの一覧を表示する「コマンド」でしたが、iOS版ではファイル一覧を配列に格納する「関数」になっています。
iOS版はサブディレクトリ内まで取得するのも異なる所です。

機能 スプライトの状態を得る
X68版 int sp_set(pl;int,[x;int][,y;int][cd;int][,prw;int])
iOS版 int sp_setting(pl;int[,x;int][,y;int][,sp;int][,pb:int][,flip;int][,prw;int])
相違点 機能的には同じですが、引数の範囲と与え方に違いがあります。

0 件のコメント:

コメントを投稿