いちばんやさしいゲームの作り方

文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ

背景色を透過して画像をブロック転送するためには、ラスターオペレーションを使います。

まず、普通に画像をブロック転送すると次のようになります。

背景色であるピンク色までもがコピーされているのがわかります。これは多くの場合、意図した結果ではないはずです。背景色のピンクを除外してコピーするためには次の手順を踏みます。

まず、背景を白、本体を黒とする画像を作ります。これをマスク画像と呼びます。マスク画像が用意できたらラスターオペレーションを使って背景へ AND 転送し、本体の形に背景をくりぬきます。 AND 転送すると黒に近い色が採用されます。この特性を利用して本体の形に穴を開けるというわけです。

背景がくりぬけたら、今度は、そのくりぬいた穴に本体を流し込みます。くりぬいた穴に本体を流し込むためには、背景を黒とする画像と背景とを OR 転送します。 OR 転送すると双方の黒ではない色が採用されます。

見事、目的を達成することができました。

なお、 Study::Bitmap ではこのマスク画像を自動的に生成する機能があります。便利ですね。今後も使っていきましょう。

Contributions




Trackback URL

メルマガ登録・解除
 
挫折不可能!初級ゲームプログラミング完全マニュアル
RSS track feedいちばんやさしいゲームの作り方 カウンター
ブログSEO対策:track word あわせて読みたい SEO STATUS