DirectXプログラミング講座 〜Vol5. テクスチャの貼り付け〜

このページでは、ステップ4で作成した2Dの四角形オブジェクトにテクスチャ(画像)を貼り付ける方法を解説します。


CImage2DクラスのSetTextureメンバ関数

CImage2D::SetTexture関数を使えば、いとも簡単に四角形オブジェクトにテクスチャを貼り付けることができます。テクスチャとして利用できる画像フォーマットは、(.bmp、.dds、.dib、.jpg、.png、.tga)です。透明処理を行わない場合は透明色に0を指定します。


'四角形オブジェクトにテクスチャを貼り付けます
CImage2D::SetTexture(
    pFileName As BytePtr,          'テクスチャ画像を指すファイルパス
    TransparentColor As D3DCOLOR   '透明色(D3DCOLOR_XRGBマクロ関数で指定。透明処理をしないときは0)
)

サンプルプログラムの作成方法


↑実行イメージ

サンプルプロジェクトをダウンロード

ステップ4で作成したtest2dプロジェクトを開きます。test2d.abpにソースコードを追加する形でコーディングを行います。生成されるEXEファイルと同じディレクトリに、適当な画像(ここではtexture.jpg)を用意しておきましょう。

●InitProc関数のコーディング

CImage2D::SetTexture関数を呼び出し、四角形オブジェクトにテクスチャをセットします。

Function InitProc()
    'DirectXを初期化
    If dx_Init(hMainWnd,ScreenX,ScreenY,FALSE)=0 Then
        InitProc=0
        Exit Function
    End If

    'マウスカーソルを非表示にする
    ShowCursor(FALSE)

    ' TODO: この位置にアプリケーションの初期化コードを記述してください。

    pImageObj= New CImage2D
    pImageObj->SetColor(D3DCOLOR_XRGB(255,255,255))
    pImageObj->SetTexture("texture.jpg",0)

    InitProc=1
End Function

●RenderProc関数のコーディング

CImage2D::Draw関数のパラメータをテクスチャのサイズに修正します。尚、適当な幅・高さを指定しておいても自動的にテクスチャの伸縮が行われるため、必需事項ではありません。

Sub RenderProc()
    ' TODO: この位置に描画に関するコードを記述してください。

    pImageObj->Draw(50,50,50+240,50+320)
End Sub


講座インデックスへ戻る ©2005 Discoversoft