COLOR SPRITE$(1)

NAME
COLOR SPRITE$ - スプライト面の色を 1 行毎で指定します。

SYNOPSIS
COLOR SPRITE$(<スプライト面番号>)=<カラーコード列>

DESCRIPTION

スプライト面の色を 1 行毎で指定します。

EXAMPLES

COLOR SPRITE(0)=STRING$(16,&HFF)

NOTES

<カラーコード列> 以下の値を1行毎に指定します。

    bit7 32 ドット左にずらして表示

            1=行なう 0=行なわない

    bit6 重ね表示

            1=行なう 0=行なわない

    bit5 衝突検出

            1=検出しない 0=検出する

    bit4 未使用

    bit3～0 カラーコード

「32 ドット左にずらして表示」は

通常 X 座標が 0～255 で処理されますが、

この bit を ON にする事で -32～223 とします。

左端からスプライトを少しだけ表示されるのに役立ちます。

「重ね表示」は例えばスプライト 0 を 0、

スプライト 1 を 1 とした場合に

スプライト 0 とスプライト 1 を重ねて表示させます。

この際、二つのスプライトが重なっている部分は

色コードが OR となります。

この 2 つのスプライトは衝突検出の対象にはなりません。

PUT SPRITE はスプライト 0 で座標を指定する事で

スプライト 1 も一緒に動作します。

また、スプライト 0 が非表示である場合は

スプライト 1 も非表示となります。

ここでは二つのスプライトで説明していますが、

三つ以上でも動作します。

「衝突検出」が bit ON になっている場合、

その行が重なっても衝突検出の対象になりません。

「カラーコード」は SCREEN 8 の場合、

以下の固定色となります。

                赤(R) 緑(G) 青(B)

     0 黒 0 0 0

     1 暗い青 0 0 2

     2 暗い赤 3 0 0

     3 暗い紫 3 0 2

     4 暗い緑 0 3 0

     5 暗い水色 0 3 2

     6 暗い黄色 3 3 0

     7 灰色 3 3 2

     8 肌色 7 4 2

     9 青 0 0 7

    10 赤 7 0 0

    11 紫 7 0 7

    12 緑 0 7 0

    13 水色 0 7 7

    14 黄色 7 7 0

    15 白 7 7 7

また、SCREEN 6 では奇数番目と偶数番目で

異なる色を設定できます。

bit 3・2 が奇数番目の色コード、

bit 1・0 が偶数番目の色コードです。

これにより擬似的に 10 色指定できるようになっています。