SPRITE - [画像表示] |
||||||
… スプライトの定義
SPRITE NO,PNO,MODE, X1,Y1, X2,Y2, V,W, MX,MY
NO: スプライト番号(1-255)
PNO: 親スプライト番号(1-255)
MODE: 0-画面非表示、1-画面表示、5-拡大縮小/反転モード
X1: 裏画面のX座標
(表示する位置)
Y1: 裏画面のY座標
(表示する位置)
X2: テクスチャ画面のX座標
(画像切り取り開始位置)
Y2: テクスチャ画面のY座標
(画像切り取り開始位置)
V: テクスチャ画面のスプライト横幅
(画像切り取り幅)
W: テクスチャ画面のスプライト縦幅
(画像切り取り高)
MX: 横方向拡大率
(0〜1未満-縮小、1以上-拡大、
マイナスの数値-反転)
MY: 縦方向拡大率
(0〜1未満-縮小、1以上-拡大、
マイナスの数値-反転)
スプライトを定義します。スプライトは、テクスチャ画像から画像の一部分を切り取り、自由な位置で表示する機能です。
スプライトには1つ1つに番号がついています。スプライトが重なっている場合は、番号の若いものほど手前に表示されます。
また、純黒(RGB値が 0,0,0)は透明色として扱われ、後ろの画像(背景や重なっているスプライト)が透けて表示されます。
一度定義した値は、次回値を入れるまで保存されます。変更のないパラメータは省略すると、処理が高速化されます。
SPRITEを実行するだけでは、実際の画面には表示されません。全てのスプライト定義が終わってからREFRESHを実行すると、スプライトが表示されます。
スプライト画像の表示では、
1. テクスチャ画面に画像を読み込む(SETPAGE、JPEG/BITMAP)、
2. SPRITEで切り出して、裏画面に配置、
3. REFRESHで表画面に表示
という処理が行われています。
■ (テクスチャ)
↓SPRITE
■ (裏)
↓REFRESH
■ (表)
このコマンドだけでは、スプライトは表示されません。REFRESHの実行後、実際に表示されます。
通常は全てのスプライトを配置してからREFRESHを実行してください(スプライトの重なり処理を正しく行うため)。
親スプライト番号に自分の番号を設定すると、通常の方法で処理されます。違うスプライト番号を設定すると、親スプライトの座標からの相対座標で表示されます。
表示位置 (X1,Y1) は、スプライトの左上角の位置を表します。ただし、拡大縮小モード(MODEに5を指定)の場合、スプライトの中心点の位置を表します。
REM 944BASIC 'スプライトデモ'
SETDIRECTORY 'F1:\944BASIC\'
SETPAGE 2
BITMAP "9B_REF.BMP",0,0
CLS
SPRITE 1,1,1, 110,150,0,16,48,48
REFRESH 20,60,20,60,200,200
KEYWAIT
SPRITE 1,1,1, 150,110
REFRESH 20,60,20,60,200,200
KEYWAIT
SPRITE - [画像表示] |