リソース
コンフィグ
コンフィグって名前よく考えるとおかしいんですが気にしてはいけません。
コンフィグは、プログラム内に直にファイル名を書かないで済むようにするためのXMLです。ファイル名をIDで引けるようにするための定義XMLになります。
サンプル
0
1
2
3
4
5
6
| | <?xml version="1.0" encoding="Shift_JIS" ?>
<config>
<confinfo id="FILE1" src="data1\file1.xml" />
<confinfo id="FILE2" src="data3\file2.xml" />
<confinfo id="FILE3" src="data5\file3.txt" />
<confinfo id="FILE4" src="data7\file4.txt" />
</config>
|
と書き、ゲーム側からはFILE1を指定すると"data\file1.xml"というファイルへのパスが得られるようになっています。ファイル名はexeファイルがおいてある場所を基点にした相対パスで指定します。
ただ、プログラムに直にファイル名を書かないようにするためには、このconfingXMLを読み込まないといけませんので、BMW銀で唯一ハードコードされているファイル名が、このconfigXMLのファイル名になります
コンフィグXMLリファレンスはこちら
グラフィック
BMW銀のグラフィクの定義は、plane/sprite/symbol の3つのXMLで行います。ゲーム側からは基本的にsymbolで書いた内容を使います。
- plane
具体的にどの画像ファイルを使うかを指定する
- sprite
planeで定義した画像ファイルのどの部分を切り出すかを指定する
- symbol
sprite定義した切り出した画像を組み合わせて、ボタンやアニメを定義する
クイックサンプル
plane
0
1
2
3
4
| | <?xml version="1.0" encoding="Shift_JIS" ?>
<planedef>
<plane name="PLANE_1" src="data2\plane1.bmp" />
<plane name="PLANE_2" src="data2\plane2.bmp" />
</planedef>
|
sprite
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| | <?xml version="1.0" encoding="Shift_JIS" ?>
<spritedef>
<planedef src="data1\plane.xml" />
<sprite name="SPRITE_1_1">
<plane name="PLANE_1" />
<rect left="0" top="0" right="10" bottom="10" />
</sprite>
<sprite name="SPRITE_1_2">
<plane name="PLANE_1" />
<rect left="10" top="0" right="20" bottom="10" />
</sprite>
<sprite name="SPRITE_1_3">
<plane name="PLANE_1" />
<rect left="20" top="0" right="30" bottom="10" />
</sprite>
<sprite name="SPRITE_2">
<plane name="PLANE_2" />
<rect left="0" top="0" right="640" bottom="480" />
</sprite>
</spritedef>
|
symbol
0
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
| | <?xml version="1.0" encoding="Shift_JIS" ?>
<symbol>
<spritedef src="data1\sprite.xml" />
<graphic name="GRAPHIC_1">
<sprite name="SPRITE_1_1" />
</graphic>
<graphic name="GRAPHIC_2">
<sprite name="SPRITE_1_2" />
</graphic>
<graphic name="GRAPHIC_3">
<sprite name="SPRITE_1_3" />
</graphic>
<graphic name="BACK">
<sprite name="SPRITE_2" />
</graphic>
<movieclip name="ANIME_1">
<layer>
<keyframe>
<symbol name="GRAPHIC_1" />
<change value="4" />
</keyframe>
<keyframe>
<symbol name="GRAPHIC_2" />
<change value="4" />
</keyframe>
<keyframe>
<symbol name="GRAPHIC_3" />
<change value="4" />
</keyframe>
</layer>
</movieclip>
</symbol>
|
セイバーの走りアニメをサンプルにした詳細説明はこちら
plane/sprite/symbolのXMLリファレンスはこちら
サウンド
サウンドは非常に原始的ですw
ファイルを二つ用意し、片方には1行ごとにサウンドファイル名、片方には1行ごとにIDを書きます。同じ行のサウンドファイル名とIDが対応します。
と書き、ゲーム側からはID指定で音を鳴らします。