ラベル 説明 の投稿を表示しています。 すべての投稿を表示
ラベル 説明 の投稿を表示しています。 すべての投稿を表示

2015年7月13日月曜日

最新の取説


V3.20の取説の在処を掲載しておきます。
このサポートブログの前の方にV2.00時代のがありますが、だいぶ変わってますので。

X-BASIC for iOS 概要
ステートメント&関数説明書
iOS依存関数
X68互換関数/便利関数/カード関数
音楽関数(ただし、これは未公開のV3.5用)
スプライトおよびBG画面について
フォント名一覧
X-BASIC/68との違い

なお、iPadでは「ほぼ」すべて内蔵ヘルプから参照できます。

2013年7月18日木曜日

「グラフィックが表示できん」とお嘆きの貴兄に

外人で、「グラフィックが表示されんから金返せ」などと言う奴が居たのですよ。

取説にはグラフィックの表示手順についてちゃんとく書いたし、サンプルも多数出している。
その上ここでも何も聞かずにこんな馬鹿なこという奴は、きっと何を触っても何も出来ないのだろうと、あきれかえってしまうわけです。

ってなわけで、そんな奴は無視して、日本語だけで、グラフィック表示の仕方を簡単に説明します。

・・・まずは、取説からの抜粋・・・

グラフィック画面は4画面あります。それをページと呼びます。
どのページに描画するかはapage()、どのページを表示するかはvpage()、
テキスト画面、グラフィック画面およびスプライト&BG画面の表示順位はvpriority()で
設定します。

従って、グラフィックの描画プログラムは基本的に、
vpage() 表示ページ指定 vpriority() 表示優先順位指定 apage() 描画対象ページ指定 wipe() クリア gColor() 描画色指定 描画命令群
という順で記述することになります。
 ・・・
ということです。この手順を守れば、確実にグラフィックは表示できます。
これはX-BASIC/68でもほとんど同じです(優先順位指定と色指定が違うけど)。 
 
・・・例・・・
vpage(B_TPAGE+B_GPAGE0,YES) vpriority(GPAGE0,TPAGE,GPAGE1,GPAGE2,GPAGE3) apage(GPAGE0) wipe() // gColor(255,255,255,255) line(0,0,100,100) // end
これで、(0,0)~(100,100)の間に白の直線を引きます。
描画しているのは、4ページあるグラフィック画面の内、GPAGE0のページです。

・・・

グラフィックを描画するプログラムを書く場合、グラフィックを1画面しか使わないのであれば、変更すべきはgColor()とline()の部分だけであって、他は定型として使い回せば良いのです。
何も難しいことはありません。

ある程度の手順を覚えなければならないことは、どの言語を使っても同じです。
いや、言語じゃなくてもアプリでも、それどころか世の中にある物全て、全く何も覚えずに使える物なんてないのです。

くれぐれも、何も努力をしないで「出来ないのは相手が悪い」などという愚かな発想に至らないように。


2013年6月15日土曜日

V2.1での変更などに関する注意点

X-BASIC for iOS V2.1 について、いくつか補足説明をしておきます。

(1)vpage()の引数が変わっていますが、実際の動作は変わりありません。
これは、V1.0前=発売前の関数仕様の変更が、取説と引数に反映できていなかっただけです。
V1.0でも、指定したページを表示、指定されてないページは非表示にするよう動作しており、第2引数は無視されていました。

V2.1ではこの動作を取説に明記すると同時に、第2引数を省きました。
互換性維持のため、第2引数を指定していても問題なく動作します。


(2)以下の関数について、取説に重要な変更や補足をしました。
    keyRepeatTime()
    width()

(3)bitmap関数の仕様が拡張されたように見えますが、実はもともとこの仕様であり、取説が間違っていただけです(というか、作った本人が仕様を勘違いしていた^_^;)。
内蔵取説は修正されていませんが、HPでの公開版は修正済みです。

2013年6月1日土曜日

エラーメッセージ別対処法(随時追記)

X-BASIC for iOSのエラーメッセージは、残念ながらエラーの発生している場所や原因を的確に表していない場合があります。

理由の1つは、「エラーが発生したらその行の解析を飛ばし、次の行からコンパイルを継続するから」です。コンパイル時には1つのエラーでいちいち止めていては全体のデバッグに時間がかかりすぎるため、エラー発生行をなかったことにして無理やりコンパイルを継続して、全体のエラーを「制限付きながら」洗い出します。
そのためにこの現象が起きます。

このため、対となる構文がある行では、見かけ上間違いがなくても必ずエラーが発生します。例えば、switchの行でエラーが発生すれば、endswitchの行でも必ず(場合によってはcase/defaultの文でも)エラーが発生するわけです。

オリジナルのぺけ-BASICやX-BASIC/68は1つエラーが発生すればそこで止まるため、それ以降の解釈の継続という考え方がなく、故に同様なことが発生しません。

・・・

X-BASIC for iOSではできるだけエラーを細分化しましたが、解釈の都合上、エラー直接原因とは場所でエラーが発生することもあります。
この場合、発生するエラーからは原因がわかりづらいこともあります。


その例をここにまとめておきます。
(今後、発見次第随時紹介。)

・未宣言変数/Undefined variable.   (日本語/英語の順)
 
未定義関数を呼びだそうとした時もこれが発生することがあります。
関数を配列と認識してしまった場合です。
C言語と異なり、BASICでは関数も配列も()で括るため、こうなります。

・文字列が閉じてないときは、その影響で色々とエラーが発生することがあります
文字列のある行でエラーが発生している場合、まずは文字列が閉じられているか確認してください。

2013年2月14日木曜日

各説明書へのリンク

X-BASIC for iOSの各説明書や資料へのリンクを、 ここにまとめておきます。

ここにある取説は最新版で、随時更新されています。
内蔵取説におかしな部分があった場合も、まずはこちらをご覧ください。
多分にわかりにくい部分はあろうかと思いますが、ご了承ください。
改善案、追記要望などありましたらコメントでお寄せください。