-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathCOLOR SPRITE$.txt
executable file
·72 lines (61 loc) · 2.61 KB
/
COLOR SPRITE$.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
COLOR SPRITE$
-----------------------------------------------------------
MSX2 以降
[ 機能 ]
スプライト面の色を 1 行毎で指定します。
[ 書式 ]
COLOR SPRITE$(<スプライト面番号>)=<カラーコード列>
[ 文例 ]
COLOR SPRITE(0)=STRING$(16,&HFF)
[ 解説 ]
<カラーコード列> 以下の値を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 色指定できるようになっています。