プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

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

A 回答 (5件)

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より数学は要求されますが・・・とりあえず行列とベクトルの本は一冊用意しておくべきでしょう(笑)
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2001/05/29 10:09

2Dのみの場合は、WindowsNTでの動作も考慮して


DirectX3で組むのもいいかもしれません。

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

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

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

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

お礼日時:2001/05/29 10:07

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



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

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

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

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

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

お礼日時:2001/05/29 10:06

 7と8のどちらを使うかは好みの問題です。


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

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

お礼日時:2001/05/29 10:02

全画面表示とかするなら、


DirectX使ったほうが良いのではないでしょうか。

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

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

参考URL:http://www.bio100.co.jp/
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2001/05/29 10:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!