みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ゲームにはDirectX?

VC++を使ってプログラミングをしようと思いました。
今は全然出来ないのですが、最終的には3Dのフライトシミュレーターみたいなものを作りたいと考えています。(いつになるか分かりませんが^_^;)

そこで、とりあえずVC++に慣れるために2Dのシューティングゲームを作ろうと思ったのですが、この場合はDirectXを使う方がいいのですよね?

そこで質問なのですが、DirectXの7と8どちらを使うべきなのでしょうか?
8からはかなり変わって2Dの表示も3Dを使ってやると聞いたのですが、それは7で2Dのゲームを作るより難しいのでしょうか?

回答よろしくお願いします。

投稿日時 - 2001-05-25 10:09:14

QNo.80912

困ってます

質問者が選んだベストアンサー

DirectX7迄は2D、3D表示回りはDirectDrawとDirect3Dに別れており、イメージとしてはDirectDrawの用意したキャンバスにDirect3Dで演算し、生成した2Dのイメージを貼り付けるという2Dが主導のシステムでした。
それがDirectX8以降はDirectDrawが廃止されDirect3Dが画面表示も受け持つ事になりました。そのため2Dのアプリケーションを作る為には、3D空間上に画面として表示するポリゴンを用意してやり、そのポリゴンの上に2D画面として表示するテクスチャを張りつけるという手順を取る事になります。
つまり、DirectX8では2Dを表示するのに3Dの知識が多少なりとも必要になるというわけです。(多分DirectX8SDKの中にサンプルがあるでしょうからそれを使うという手もありますが・・・)

2Dのものを作るのであればDirectXにこだわる必要も無いと思います。最近のPCは性能も上がり、10万円を切るようなPCでも結構なビデオ性能を持っていますのでGDIを使ってCreateDIBSction APIで作ったDIBに画面を描画して表示・・・
という手法でもいいんじゃないでしょうか?パレット操作が絡んでこない限りはGDIで作った方が楽だと思いますが・・・復帰時の画面レストアとか考える必要も無いですし。

蛇足
3Dを使う場合でもDirectX以外にもOpenGLという方法もありますよ(こちらの方が初期化は簡単です)。後3Dと2Dでは考え方がかなり違う為、いきなり3Dからはじめてもいいと思いますよ。ただ2Dより数学は要求されますが・・・とりあえず行列とベクトルの本は一冊用意しておくべきでしょう(笑)

投稿日時 - 2001-05-26 03:33:35

お礼

今回は教えてもらった方法で作り、次からDirectXを使いたいと思います。

回答ありがとうございました

投稿日時 - 2001-05-29 10:09:57

ANo.5

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

2Dのみの場合は、WindowsNTでの動作も考慮して
DirectX3で組むのもいいかもしれません。

まあ、インストールするバージョンはどれでもいいですが
使用(プログラミング)するバージョンを3でやれば
プラットホームが少し増えていいかも知れませんよ!

どうしても7か8かで選ぶなら、
8の方が簡単かと思います。(初期化が得に簡単になった)
ただ8でやった場合、使用できる画像のサイズが
2の乗数じゃないといけないとかいろいろと
不便なところもありますが。

投稿日時 - 2001-05-26 01:30:57

お礼

7より8の方が簡単なんですね(^.^)
今回はDirectXは使わない事になりましたが、次は8でいきたいと思います。

回答ありがとうございます。

投稿日時 - 2001-05-29 10:07:45

ANo.3

DirectXの7と8でしたら、今後の展望も含めて、8の方が旬だとは思いますが、お使いのマシンのビデオカードによっては、8の機能(特に3Dの部分)を、自分で作ってて、分からないっといったような・・、フルに活かせない(表示できない)場合も出てくると思います。

これを機に、GeForce3のような、8にフル対応したカードを買ってしまうか、7で最初の触りだけ作ってみて、8の触りと比べてみる(機能差の確認等)、という感じが良いのではないでしょうか。
また、決していやみではないのですが、DirectX8を使いこなせるようになった時には世の中はすでに、9か10かが定番・・、なんてことも十分ありえますので(笑)、先を見越して今のうちからより新しい方、なんてのでも良いと思います。

>8からはかなり変わって2Dの表示も3Dを使ってやると>聞いたのですが、それは7で2Dのゲームを作るより難し>いのでしょうか?

最終目的次第ですが、やはり、オープニング周りやメニュー画面なども必要ですよね、
結局、避けては通れないと思いますので、難しいかどうかは考えない方が良いと思いますです。

投稿日時 - 2001-05-25 12:19:50

お礼

GeForce3欲しいですけどお金が・・・
今回はDirectXは使わない事にしました。
開発期限があり、プログラミングもあまり出来ないのにいきなりDirectXが出来るか心配になり。。。

回答ありがとうございました。

投稿日時 - 2001-05-29 10:06:04

ANo.2

 7と8のどちらを使うかは好みの問題です。
 上位互換はあるので8を使ってもいいんですが、そうすると7までしか持っていない環境の人に、バージョンアップを強制させることになります(無料でできるとはいえ)。
 ゲーム制作の基本コンセプトをもとに、どちらにするかを決めればいいと思います。

投稿日時 - 2001-05-25 11:52:44

お礼

自分で質問しといてちょっと。。。って感じなんですが、DirectXは使わない事にしました。
回答ありがとうございました。

投稿日時 - 2001-05-29 10:02:08

ANo.1

全画面表示とかするなら、
DirectX使ったほうが良いのではないでしょうか。

回互換があると思うので、8入れとけって感じもしますが、
新し物好き考えでは駄目かな?

http://www.hh.iij4u.or.jp/~kachin/directx/
http://www.geocities.co.jp/SiliconValley-SanJose/4255/index.html

参考URL:http://www.bio100.co.jp/

投稿日時 - 2001-05-25 11:22:37

お礼

参考URLありがとうございます。
でも、今回はDirectXはやめる事にしました。(いろんな都合で。。。)

回答ありがとうございました。

投稿日時 - 2001-05-29 10:00:14

あなたにオススメの質問