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

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

解決済みの質問

DirectXやWin32API (2Dゲーム作りたいです)

こんにちは,私は2D(最終的には3D(メインは2D))のゲームを C++,DirectX を利用して作りたいと思っています.
 今のところ,プログラミングはC,C++は入門+α,
ゲーム関係は『ゲームプログラマになる前に覚えておきたい技術』という本の2D分野を読み実習しました.このゲームの本はDirectXやWin32APIなどを利用せずに,なにやらライブラリなどを用意していてそれを利用する形でした.

-- 質問 --
 DirectX や Win32API を全然わからないという このくらいの知識の人が本格的に2Dゲームをだんだんと作って行きたいのですが,このそれぞれに対してなにかよい参考書はないでしょうか,またその理由などもいただきたいです.

--気になること--
以下あいまいな知識の質問です.
・最近(DirectX7以降かな)はDirectXは2D描写と3D描写の機能が合体したと聞きました,DirectXの参考書は3Dのばかりで3Dも学べていいのですが,2Dゲームが作れるDirectXの内容も詳しく含んだ参考書が欲しいです.
・Win32APIはゲーム製作にどう影響してくるんですか?まだよくわかっていません.ゲームウィンドウなどを表示するのは必用そうですが,,
サウンドやグラフィックを読み込むのに必須なのだろうか,
でもそれはDirectXでもできませんか?関係がよくわかりません.

--まとめ--
できれば 気になること の回答など簡単にしていただきたいです.
 長文ここまで読んでいただきありがとうございました.
よろしくお願いします.

投稿日時 - 2009-10-24 23:09:53

QNo.5393881

暇なときに回答ください

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

>でも現在は同じような情報が大量にあり
>ネット上ではその情報の真偽が信頼できるものであるか少しばかり不安でした

その気持ちはよく分かりますよ。
特に何も分からない手探りの状態はそういう気分になります。

確かにCDソース付きの本を1冊購入した方が大きな武器になることは考えられます。
私も初めての分野はそれが手っ取り早く効果的だった経験があります。
ただ、本の推薦は私は経験がないので、良書の推薦はできません。

>DirectXで代用するのかなというイメージ
代用というよりゲーム用に強力にして新登場させたというイメージです。

DirectXをもう少し詳しく言いますと、マイクロソフトが中心になって、
ビデオカードのメーカを中心にDirectX対応の回路を提唱します。
ハードウェアレベルでの回路を義務づけたDirectXはマイクロソフトの戦略でもあったのです。

Windows32 API にもBitBltやLineToなどの描画のコマンドはありますが、
それはあくまでパソコン本体のGPUで計算します。
当時の非力な環境もありますが、それで3Dのポリゴンを描画したら遅くて仕方がなかったのです。

そこで3Dゲームの到来に備えてハードレベルでの環境を実現したのがDirectXです。
現在ではWin32APIだけでも軽量の3Dゲームは動きますから、2DでDirectXを使う
必要性もないような気がしますが、将来の布石もありますからここでは言及しません。

なお、オンボードのビデオアクセラレータなんかではそのような回路がありません。
そのときはWindowsがDirectXの描画を行います。OSが行いますから極端に遅くなります。
つまり、DirectX対応の回路を持った高価なビデオを持ってこそ、DirectXが威力を発揮することになります。

投稿日時 - 2009-10-25 19:54:59

お礼

こんにちは,2度もご回答ありがとうございました.
なるほど,CDソース付きの本を探して購入し実際に経験しながら,DirectXなどを習得していきたいと思います.
詳しくご説明ありがとうございます.
この質問をして,具体的にいえませんが,少し視野が広がったと思います.
いつかよいゲームが作れるように努力していきたいと思います.
ありがとうございました.

投稿日時 - 2009-10-26 22:48:11

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

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

回答(2)

ANo.1

DirectXは使ったことがないのでお茶濁し程度に・・・

まずは検索することです。開発はもっと色々調べなければなりません。
我々が若い頃は東京の大きな書店まで出かけて1日潰して探し回ったものです。
今ではネットで1時間もあればそれなりの情報は探せます。

DirectX、2Dゲームで検索すれば参考になるサイトはたくさんかかります。
DXライブラリを使えば2Dではかなり手軽にDirectXを扱えます。

Win32は最も基本的なWindows自体のライブラリです。
WindowsはWin32APIの力を借りて動いているので、これがないと大変なことになります。
実際のプログラムでもAPIは煩雑に登場します。
システム情報を得るだとか、アイコンの情報を入手する、プリンタへの出力etc。

ただしWin32APIは万能向きなのでGPUに特化したAPIであるDirectXには敵いません。
(DirectX API自体Win32 API の一部という見方も当然できる)
これがDirectXの登場した背景なので、DirectXはほぼゲーム専門といっても差し支えありません。

ただし、Win32APIは今後.NetFrameworkに置き換えられます。
.NetFrameworkについてはさすがに聞いたことがあると思いますが、
これがWin32APIの後継のWindowsライブラリとなります。
Vistaやwindows7ではまだWin32APIが中心のようですが。

http://windowsvista.nomaki.jp/aboutvista/winfx.html

投稿日時 - 2009-10-25 01:26:44

お礼

ご回答ありがとうございます.
 そうですね,昔は論文も足で書くといわれてましたから,今はそれに比べればかなり楽に情報を得られるでしょう.
でも現在は同じような情報が大量にあり,ネット上ではその情報の真偽が信頼できるものであるか少しばかり不安でした.(というのは言い訳かもですすみません.)
一応独自で色々と調べた上で 抽象的 なイメージが知りたくて質問をいたしました.
今の自分の理解のイメージでは
ゲームプログラミング ⊃ Win32API ⊃ DirectX
で,ゲームでは,Win32APIの中の一部(グラフィックなど)をWin32APIを基盤にしてDirectXで代用するのかなというイメージです.
こういうイメージ的な知識はあまり情報がないので質問させてもらいました.違っているかもしれません.
 そして次いで,なにか参考書などがあればそれで勉強していきたいとおもいました.

ご回答ありがとうございました.m(_ _)m

投稿日時 - 2009-10-25 12:37:48

あなたにオススメの質問