【発掘王】ゲームの仕組み解説(2)

| トラックバック(0)

どうも、ケイ・プロジェクトの中の人 あ〜る です。
今回はアイテムを掘り当てた時の処理についてです。
 
アイテムには、どの深さでどの位置に存在するかという
データが必要です。
そして、同じ深さで重なり合うようなアイテムは
存在してはいけないので、
配置する時には、今まで配置してあるアイテムとの
重なりチェックをするようにします。
 
例えば、図1の様な形のアイテムが
深さ1で図2の位置に存在するとします。

[図1]
exking_blog_10.png
※色のついていないピクセルは完全透明とします。
[図2]
exking_blog_11.png
※数字はフィールドの現在の深さ。
 
では図3の部分を深さ2掘れるノーマルドリルで掘ると
どうなるでしょうか。
[図3]
exking_blog_12.png
 
諸々重ね合わせてみるとこんな状況(図4)。
[図4]
exking_blog_13.png
 
深さを決定する際、そのピクセルにアイテムが存在していて
アルファ値が0(完全透明)でない場合は
アイテムの存在する深さまでしか掘れず、
アイテムの姿が見えるようにする必要があります。
 
つまり、深さは
depth[x][y] = item.depth;
カラーは
image.buffer[x][y] = item.image.buffer[ix][iy];
のように決定されます。
※正しいコードではないです。雰囲気だけ。
ここで ix,iy はアイテム画像内の該当する箇所の座標値です。
 
これらをピクセル単位で判定します。
結果、深さとカラーは図5のようになりました。
[図5]
exking_blog_14.png
白は元々の地面表面の色。
青はアイテムが見えているところ。
黄色は掘られた深さの地面の色。
 
このような仕組みで、アイテムが徐々に見えるようになっています。
次回は、アイテムを掘り出した時の処理についての予定です。

トラックバック(0)

トラックバックURL: http://kei-prj.com/mt/mt-tb.cgi/103