iPad専用アクションゲーム「スライムは投げる」

最近のエントリー

DirectXのSDK入手

さて、DirectXを使用したソフトウェアを作成するためには、DirectX SDKと言うものが必要になります。これは、DirectXを処理するためのライブラリ群であり、インクルードファイルや、ライブラリファイルが含まれています。ちなみに、Visual C++4.x以降のバージョンでは、既にDirectX2(未確認)辺りのSDKがあらかじめ含まれているため、「Visual C++6.0の設定」へ飛んで下さい。

一体DirectX SDKは何処で入手出来るのでしょうか。一応、MicrosoftのDirectX開発者ページにて、配布していますが、最近はファイルサイズが膨大になったため(100M以上)、そこからダウンロードするのは、あまり現実的ではありません。
(2004/05/30追記:いやほら、書いた当時はダイアルアップだったの。現在はブロードバンドの時代ですから、200MぐらいサクッとDLしましょう)

一番手っ取り早い方法は、SDKの入った雑誌を買ってくる事です。メジャーなトコロでCマガジンでしょうか。それか、DirectX入門系の本を購入し、こんなHPチマチマ見てないで自分で勉強する事です(爆)。

DirectX SDKのインストール

DirectX SDKを自分のコンピュータにインストールしたら、VC側にDirectX SDKの「有りか」を教えてあげる必要があります。

まず、VCのメニュ→ツール→オプションを実行し、その中の「ディレクトリ」タブを選びます。
setup05

「表示するディレクトリ」を「インクルードファイル」にし、「新規作成」ボタン(画像の赤丸)を押し、そこへインストールしたDirectX SDKのinlcludeフォルダを指定してやります。
同様に、「表示するディレクトリ」を「ライブラリファイル」にし「新規作成」ボタンを押して、そこへインストールしたDirectX SDKのlibフォルダを指定してやります。

この設定は一度行えばOKです。

DirectX SDKを使ったアプリケーションを新規作成する手順

Visual C++6.0の環境で、DirectXを使用するアプリケーションを新規作成するには、以下の手順が必要です。

1.メインメニュー → 「新規作成」 を選び、下のように設定し、OKをクリックします。
setup00

2.本当はどれでも良いのですが、とりあえずそのまま「終了」をクリックします。
setup01

3.単なる確認画面が出ますので、そのままOKをクリックします。
setup02

4.もう一度 メインメニュー → 「新規作成」 を選び、下のように設定し、OKをクリックします。
setup03

ここへプログラムをタラタラ書くことになります。
普通はCPPファイルを複数作成するのですが、この講座では見やすくするために、基本的には1ファイルで進めていきます。

5.メインメニュー → 「プロジェクト」→ 「設定」 を選び、「リンク」タブをクリックします。
setup04

設定の対象を「すべての構成」にします。
オブジェクト/ライブラリモジュールへ、「ddraw.lib」を書き加えます。

これで設定は終わりです。
ちなみに、この講座で配布しているサンプルコードは、こうした設定を既にやってあります。

はじめに

さぁ、始まりました第1回DirectDraw講座!DirectXで描画を担当するのがDirectDrawです。最近オンラインゲームで起動時に画面がフルクリーンに切り替わるものが増えてきましたが、これらは全部DirectDrawを使用していると考えて結構です。とりあえず私が今まで制作してきたゲーム並の事は出来ると言うことで、それ以上の事は出来ません(謎。今までGDIやらWinGやらで地味なゲームを作っていたあなた!たまにはDirectX使ってド派手なゲーム作りましょう!みたいな。

DirectDrawの長所

DirectDrawが今までのGDIやWinGと異なる点は、ハードウェアを使用するという点です。フルスクリーン化して色数を256色なんかにすれば、画面に表示するために必要なビデオメモリは640×480で300K程度です。現在世界で普及しているビデオメモリは最低でも2Mはあるので、残りの1.7Mに必要な画像を読み込んでおき、後はビデオメモリ間のハードウェア転送機能を使用して高速に描画すれば、派手なゲームもたぶん、作れます。まぁ、描画がいくら速くても、その他の部分でプログラム出来なければ、お話になりませんが・・・。とりあえず、DirectDrawでは、透過色付きの転送も出来ます。GDIのようにマスクイメージを用意してBitBltでAND、XORする必要もありません(WinGの場合は関係ないですけど)。DirectDrawでやる事といえば、長方形領域の転送くらいなものです。

DirectDrawの短所

DirectDrawではハードウェアが対応していない場合、ソフトウェアでエミュレートします。DirectDrawで、拡大、縮小付きの長方形領域転送があるのですが、現在対応しているビデオカードが少なく、めっちゃ描画遅いです。GDIのStretchBltとやらよりも遅いです(爆。また、ビデオメモリに直接アクセスする事も出来るのですが、そのデータ転送速度が遅すぎます。使わない方が良いです。それから、DirectDrawには円や線、文字と言った描画関数は用意されていません。その代わり、デバイスコンテキストとやらを取得出来るので、これを使用してGDIで描画します。

記事検索

コミュニティ

Banner designed by 樟刺様
ドット絵掲示板
ドット絵掲示板
自作の「ドット絵」を投稿することができます。ドッターさん同士の交流の場としてご利用ください。
TakaboSoft Wiki
TakaboSoft Wiki
ソフトウェアに関する質問・不具合報告・要望などを書き込むことができます。