例:マップ作成表示
BG画面(背景・マップ)の作成
解説
ゲームの背景を作成し表示するサンプルです。
ドラクエのマップや、スーパーマリオの地面・ブロック・土管、倉庫番のようなパズルゲームの面などがこれに該当します。
背景キャラは「バックグラウンド画面」に表示され、命令文は「BG〜」で始まるものを使用します。
BG用コマンドの一覧は、バックグラウンドの命令一覧を参照。
ドラクエのマップや、スーパーマリオの地面・ブロック・土管、倉庫番のようなパズルゲームの面などがこれに該当します。
背景キャラは「バックグラウンド画面」に表示され、命令文は「BG〜」で始まるものを使用します。
BG用コマンドの一覧は、バックグラウンドの命令一覧を参照。
サンプルコード
マップの表示方法
大きく分けて2つの方法があります。A.ツールを使ってタッチペンで描いて保存し、それをプログラムで読み込む方法
B.プログラムだけで描写する方法
A.はドラクエやスーパーマリオのような大きいマップ向き、B.はパズルゲームの面データなどに向いていますが、どちらを使うかは自由です。
A.ツールを使用した表示方法
マップの作成と、ファイルへの保存
キーボードの「SMILE」ボタンでツールを開き、画面右上の「マップ」を選択してマップエディタを開いて、背景を描きます。そして、描いたマップをファイルに保存します。
下画面・上部の「SCSAVE」を押して、名前を付けて保存します。(ここでは「TEST」とします)
※実際には「SC_TEST_L0」〜「SC_TEST_L3」までの4つのファイルが作成されます。
※画面下の「SAVE」だと別の形式で保存されてしまうので、ここでは「SCSAVE」の方で保存してください。
マップの読込と表示
プログラムから、先ほど保存したファイルを呼び出して画面に表示します。ツールで描いた背景は64x64のサイズなのに対し、実行画面の初期値は25x15とサイズが違うので、同じにする必要があります。DIM D[0]BGSCREEN 0,64,64 '背景サイズLOAD "DAT:SC_TEST_L2",D,0 '読み込みBGLOAD 0,0,0,64,64,D '画面に描写
LOADで読み込んだデータを、用意した配列変数「D」に一時保存し、それをBGLOADで実際に画面に描写します。
※マップデータを再編集したい場合は、マップエディタ画面で Yボタン→Aボタンで「LOAD」を選択→Xボタンで「BGSCREENデータ」を選択した後、
保存したファイル名(ここでは「TEST」)を入力してデータを呼び出してください。
注:画面下にある「LOAD」は別形式専用なので、ここではロードできません。
B.プログラムで描画する
任意の背景キャラを表示する
横3,縦3の位置に、「18」の将棋のコマを表示します。キャラクターの番号は、SMILEツールを起動して、画面下の「BG」で確認できます。BGPUT 0,3,3,18
マップデータを一括表示
横6x縦5の迷路を画面に表示させます。数値データを使う例
配列変数Cに、DATAに記載されたデータを一件ずつ読み取り、全て読み込んでからBGLOADで画面に描いています。MX=6:MY=5DIM C[MX*MY]READ C[I] 'データ読込BGLOAD 0,0,0,MX,MY,C '画面に描写@STAGE_DATA 'BGデータDATA 2,2,2,2,2,2DATA 2,4,0,0,0,2DATA 2,2,0,2,0,2DATA 2,0,0,2,0,2DATA 2,2,2,2,2,2
「A.ツールを指定した表方法」でも、内部的にはこれと同じような事をしています。データを外部ファイルに置くか、DATAに描くかの違いです。
文字データを使う例
ループ「I」で変数D$に一行分ずつデータを読み込み、ループ「J」で1文字ずつ判定・表示しています。READ D$ '行データ読込C=2ELSE C=0BGPUT 0,J,I,C '画面に表示@STAGE_DATA 'BGデータDATA "@@@@@@"DATA "@1 @"DATA "@@ @ @"DATA "@ @ @"DATA "@@@@@@"
参照
サンプルについて
サンプルコードについての解説
例:文字の表示
文字の表示・位置指定・色指定
例:キャラ操作(1)
スプライトキャラの表示・移動
例:キャラ操作(2)
スプライトキャラのジャンプ・移動制限・アニメーション
例:マップ作成表示
BG画面(背景・マップ)の作成