SmileBASIC

簡易電子説明書

33SPRITE

ゲームの背景として使うBGに対し、プレイヤー・敵のキャラクターや弾など、動きのある物体を作る仕組みがSPRITEです。

プチコンBIG専用モードについて

この資料は3DS版のプチコン3号用のBGに関する説明ですが、プチコンBIGはプチコン3号と互換性を維持した作り方もできるため修正せずに利用しています。

【 プチコンBIG専用モードでの変化 】

  • 最初に XON WIIU が必要
  • XSCREEN 5 および 6のみで利用可能
  • SPRITE数は最大4096枚に拡張
  • 画面解像度は最大854×480ドットに拡張
  • キャラクター用画像サイズが1024×1024に拡大

以降の説明内の、SPRITEの最大値および画面の解像度(横と縦のサイズ)は、プチコンBIG専用モードで利用する場合、適切な数値に読みかえてご利用ください。(以下の説明内で、数字の色が "512" のように変化している部分はBIG専用モードの影響を受ける部分です)

SPRITEについて

SPRITEはBGとともに、家庭用ゲーム機の表示によく使われてきた仕組みです。基本16×16ドットのキャラを、1つの動く物体として画面に表示します。大きさは任意に設定できます。画面には最大512個まで表示可能です(あまりたくさん表示すると動きが遅くなります)。

本製品には、ゲームでよく使用するSPRITE用キャラが多数登録されています。これをSPSET命令で好きな管理番号のSPRITEに割り当てると画面に表示されます。

◆SPRITE用キャラ

SPRITE用キャラは、グラフィックページのGRP4にあらかじめ読み込まれています。キャラの基本サイズは16×16ドットですが、それ以外のサイズもあります。
キャラ定義番号は、SMILEツールの「SPDEF」で確認してください。

◆SPRITEの画面表示

表示するSPRITEは、SPSET命令で512個まで準備できます。それぞれの番号のSPRITEに、どの番号のキャラ定義を割り当てるかを設定します。

SPRITEの表示座標はSPOFS命令を使いドット単位で指定します。(BG はキャラ単位の座標)

X座標 0~399, Y座標 0~239

重ね順もZ座標を指定することにより変更可能です。この値はBGのZ座標と同列に扱われるので、BGの手前に出したり、奥に隠したりすることもできます。Z座標は立体視表示の奥行きにも関係します。(プチコンBIGでは立体視に対応していません)

SPRITEを準備する…SPSET命令

画面に表示するSPRITEを準備します。SPRITE同士を区別する管理番号を付け、SPRITEの絵柄とするキャラを選択します。

書式 SPSET 管理番号, キャラ定義番号
  • 管理番号:新しいSPRITEにつける任意の番号(0~511)
  • キャラ定義番号:割り当てる絵柄のキャラ番号(0~1023)
使用例 SPSET 0,1

SPRITE 0番を準備し、キャラ番号1「みかん」を指定

SPSET命令は、表示するSPRITEをメモリー上に準備して画面に表示します(SPHIDE命令で一時的に表示を消すことができます)


SPRITEの表示位置を変更する…SPOFS命令

指定したSPRITEの表示位置と奥行きを変更する命令。 ゲームのキャラクターを動かすときによく使います。

書式 SPOFS 管理番号, X, Y, Z
  • 管理番号:対象のSPRITEの管理番号(0~511)
  • X, Y:画面上の表示座標
  • Z(省略可能):奥行方向の座標(奥:1024~0~手前:-256)
使用例 SPOFS 0, 192, 112

SPRITE 0番を、画面のほぼ中央に表示する


SPRITEを拡大縮小…SPSCALE命令

指定したSPRITEを拡大・縮小する命令。

書式 SPSCALE 管理番号, 倍率X, 倍率Y
  • 管理番号:対象のSPRITEの管理番号(0~511)
  • 倍率X, 倍率Y:元の大きさに対する横・縦の倍率
    0.5=50%, 1.0=100%, 2.0=200%
使用例 SPSCALE 0, 1.5, 1.5

SPRITE 0番のサイズを、縦・横とも1.5倍にする


SPRITEを回転…SPROT命令

指定したSPRITEを回転する命令。

書式 SPROT 管理番号, 角度
  • 管理番号:対象のSPRITEの管理番号(0~511)
  • 角度:時計回りの角度(-360~0~360)
    ※マイナスの場合反時計回り
使用例 SPROT 0, 30

SPRITE 0番を、時計回りに30度回転させる


SPRITEの基点を変更する…SPHOME命令

移動や拡大縮小、回転の際に、SPRITEのどの位置を基点にするかを変更する命令です。初期状態ではSPRITEの左上が基点になっています。

書式 SPHOME 管理番号, 基点X, 基点Y
  • 管理番号:対象のSPRITEの管理番号(0~511)
  • 基点X,Y:SPRITEの左上の角からの相対座標
    SPRITEが16×16ドットの場合、X=8・Y=8でほぼSPRITE中央が基点となる
使用例 SPHOME 0, 8, 16

SPRITE 0番の基点を、左上の角から右に8ドット、下に16ドットの位置に変更する


その他のSPRITE命令

上記のほかにも多くのSPRITE命令があります。使い方はHELPやサンプルプログラムで確認してください。以下は代表的なものです。

◆SPHIDE命令

SPRITE表示を隠す

◆SPSHOW命令

隠れているSPRITE表示する

◆SPANIM命令

SPRITEによるアニメーションを行う

◆SPLINK命令

複数のSPRITEを連結し、多関節キャラを作る

◆SPUNLINK命令

SPLINK命令による連結を切り離す

◆SPCLR命令

指定したSPRITEの決して使っていたメモリーを開放

ページトップへ