Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectDraw C/C++ チュートリアル」を参照すること。
チュートリアル 2 のサンプルでは、オフスクリーン サーフェスを合成サーフェスとして使用する。オフスクリーン サーフェスは、メモリ内に概念として存在する矩形領域であり、この領域には通常プライマリ サーフェスにブリットされるビットマップが格納される。このバック バッファを使って湖のイメージとスプライトのイメージを格納し、その後合成されたイメージをスクリーンに表示する。このサーフェスは、以下の文で作成される。
'非表示サーフェスを作成し描画する。 'これをシステム メモリ内の合成サーフェスとして使用する。 '高さと幅を指定したいことを示す。 'サーフェスのフォーマット (bits per pixel) は 'プライマリ サーフェスと同じである。 ddsdBackBuffer.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH '表示されないサーフェスが必要であることと、 'そのサーフェスをビデオ メモリではなくシステム メモリに配置することを示す。 ddsdBackBuffer.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN Or DDSCAPS_SYSTEMMEMORY 'サーフェスの高さと幅を 'ピクチャ ボックスと同じになるように指定する (単位はピクセルであることに注意)。 ddsdBackBuffer.lWidth = Picture1.Width ddsdBackBuffer.lHeight = Picture1.Height '要求されたサーフェスを作成する。 Set objDDBackBuffer = objDD.CreateSurface(ddsdBackBuffer)