ホーム < ゲームつくろー! < 新・ゲーム制作技術編

その3 スクリーン座標にテクスチャの一部を2D描画する仕組み:サンプルプログラム



 新・ゲーム制作技術編その3「スクリーン座標にテクスチャの一部を2D描画する仕組み」で説明した内容を踏まえたサンプルプログラムです。実行すると画面中にUV切り取りされたテクスチャが回転とスケール変換しながら表示されます:


サンプルスクリーンショット。恥ずかしい!なんだろう、これ、恥ずかしい!

 このサンプルを動かすには、こちらのアーカイブを解凍し、以下の手順でプロジェクトを作成して下さい:


@ 適当なフォルダに空のWin32アプリケーションなプロジェクトを立ち上げ
A プロジェクトファイルがあるフォルダ内にアーカイブ内をコピー
B main.cpp、sprite.h、sprite.cppをプロジェクトに追加
C プロジェクトのプロパティで「マルチバイト文字セット」に変更(冗長になるのでサンプルはUnicodeに対応していません)
D ビルド

これで実行し上のようなシュールな絵が出れば成功です。うまく動かない場合は掲示板にご報告下さい。



○ Spriteクラスについて

 Spriteクラスは2D描画を行ってくれます。サンプル用に作成した物であるため単純な機能しかありませんが、スクリーン座標ベースでの位置設定、回転、スケール、ピボット設定、透過度設定、UV切り出し、描画優先度設定ができます。詳しくはsprite.hをご覧頂き、サンプルコードを見た方が早いです。描画にはシェーダを利用しています(シェーダバージョン2.0以降)。sprite.fxシェーダがプロジェクトフォルダ直下(実行ファイルを作った場合は.exe直下)に無いと動きませんのでご注意下さい。このクラスを地盤に様々に改良すれば多機能で応用が利く2D描画クラスも作れると思います。例えば反転表示があると何かと便利ですし、加算合成はエフェクトを作る時には必須の機能です。これらもちょっとした改良をすればすぐにできます^^