• 締切済み

DirectXについて 2

DirectXでプログラムをあと3週間ほどで作ることになってしまいました。 ですがDirectXのプログラミングはまだ全然わかりません。 実際に組むプログラムの概要はこんな感じです。 ・サーバーと複数のクライアントによるネットワーク対戦 形式である。 ・BGM等の音楽は特に無し。 ・たとえるならボンバーマンのような俯瞰視点でキャラを 操作する。 ・クライアント(1P)からは別のクライアント(2P)のキ ャラはみえない。 というようなものです。 どなたか経験者のかた、DirectXを勉強しなければいけないので、これはいい!というような参考書やサイト等ありましたら、ぜひ教えてください。 よろしくお願いします。 助けて!

みんなの回答

noname#30727
noname#30727
回答No.2

私は、DirectXのSDK付属のサンプルプログラムが何をしているのか、SDKのヘルプを見ながら1つ1つ調べていったのですが、わからない所はわからないとしても、テストを含めて、1週間くらいかけて自分がやりたい事の手順をまとめあげました。サンプルを実行してみて、似てそうなやつを中心に色々と調べるだけで十分理解できると思います。 SDKのヘルプは最初はどういう順番で見ていいのかわかりませんでしたが、逆にサンプルプログラムがヘルプを読む順番のヘルプになりました。 DirectXは5と7でも微妙に違うのですが、8は表示系が少し変更されていますから、古い参考書を見る場合には気をつけたほうがいいですよ。

  • parts
  • ベストアンサー率62% (6364/10148)
回答No.1

以前も質問されてましたね。 私が回答できるのは、参考ぐらいしかないのですが、役立てば良いですけど・・・もうご存じかもしれません。 DirectXSDKなどは利用されてますよね。 DLされていなければ、 http://www.microsoft.com/japan/developer/directx/downloads.asp#jahelp をご利用ください。 作成はしようと思ったのですが、都合?で断念したものでこれぐらいしか回答できません。まあ、必要最低限の知識は付くかと思います。

参考URL:
http://www.microsoft.com/japan/directx/developer/default.asp

関連するQ&A

  • C++でのDirectXプログラミングについて

    自分は、VC++を使ってDirectXプログラミングを行っているのですが、 Webや書籍で公開されている方のコードを見ていると、 クラスを定義していくオブジェクト指向の形式ではなく、 ただ処理を書き下していく構造化言語の形式をとるコードを多く見かけます。 自分は、C++でプログラミングを行っていると言うことで、 機能毎にクラスをひとつひとつ丁寧に定義して、プログラムを作っている最中なのですが、 人にクラスを使ってもらうわけでない以上、処理を書き下す形式で問題ないように思えてきました。 クラスの定義をクラス毎に書かない分、コードを書くのが早いように思うので、 むしろ処理を書き下す形式の方が良いようにも思うのですが、 オブジェクト指向がもてはやされている世間体を考えると、 自分の考えに自信が持てないので、玄人の方の意見を参考したいと質問させて頂きました。 意見をお聞かせ下さいませんか?

  • DirectX

    現在学生でDirectXプログラミングを学んでいます。 そこである課題を出されたのですが、まだまだ初心者でなかなか問題が解けないのでアドバイスをお願いします。 問題はクライアントエリア内でとあるグラフィックをバウンドさせて、バウンドしているグラフィックがバウンドをする力がなくなったときにその場で停止させるというものです。ですが、停止させる時のプログラムをどう書いてよいのか分かりません。 ソースは static void MoveId(void) { const double g = 2.0; const double i = 0.9; dIdX += dIdSpeedH; if (dIdX<0||dIdX > nClientWidth - nIdWidth) dIdSpeedH = 0.0 - dIdSpeedH; dIdSpeedV += g; dIdY += dIdSpeedV; if (dIdY<0||dIdY > nClientHeight - nIdHeight) dIdSpeedV = 0.0 - dIdSpeedV; if(dIdY>nClientHeight - nIdHeight) dIdY=nClientHeight - nIdHeight; dIdSpeedV = i + dIdSpeedV; } どうかアドバイスをお願いします。

  • DirectXでのプログラミング

    はじめまして。シンといいます。 現在VC++.NET(2002)とDirectX9.0を 使用してプログラミングをしております。 タスク処理の形式でプログラムを組んでいるのですが 描写処理として頂点バッファに定義したモデルデータを 出力するタスクを登録したのですがまったく描写がされず いきずまってしましました・・。 タスク処理は描写毎に初期処理→タスク処理→タスク後処理といった フローで処理を行っており 初期処理でClear、BeginScene タスク処理でSetStreamSource、SetFVF、DrawPrimitive 後処理でEndScene、Present を行っております。 頂点バッファより画面へ描写する場合にCreateWindo、Direct3DCreate9、CreateDevice等で 宣言しておかなくてはいけない事があるのでしょうか? 元々はスプライト描写のみをしていたプログラムを改造して作成しています。 (先々でスプライトと頂点モデルデータを合成したい為) なにかお気づきのことがありましたらご教授お願い致します。

  • ネットワークプログラミングを勉強しようとしているのですが。

    プログラミング初心者です。 C言語でWindowsプログラミングを一応学び、それを利用してゲームを作るのと平行してネットワークも勉強しようと思っています。 使おうとしている書籍は"UNIXネットワークプログラミング入門"という書籍で、初めてネットワークプログラミングを勉強しようとしています。 そこでその本の第二章(p32)のチャットプログラムを動作させようとしたのですがうまくできません。ソースコードはhttp://www.gihyo.co.jp/books/support.php/4-7741-1754-4 に置いてあるフォルダのchap2というフォルダにあるコードです。 まずcygwinでサーバのプログラムを動作させてから、cygwinをもう一つ起動させてそちらでクライアントのプログラムを動作させればいいと書いてあると「思う」のですが、動作しません。クライアントのプログラムを動作させても「gethostbyname: Operation not permitted」というメッセージが出て終了してしまいます。 もし、同じ本を使ったことがある方、またはそうでなくても超初心者がしてしまうような間違いや手順足らずなことなどに心当たりがあれば教えて下さい。

  • ネットワークプログラミングを勉強しようとしているのですが。

    プログラミング初心者です。 C言語でWindowsプログラミングを一応学び、それを利用してゲームを作るのと平行してネットワークも勉強しようと思っています。 使おうとしている書籍は"UNIXネットワークプログラミング入門"という書籍で、初めてネットワークプログラミングを勉強しようとしています。 そこでその本の第二章(p32)のチャットプログラムを動作させようとしたのですがうまくできません。ソースコードは​http://www.gihyo.co.jp/books/support.php/4-7741-1754-4​ に置いてあるフォルダのchap2というフォルダにあるコードです。 まずcygwinでサーバのプログラムを動作させてから、cygwinをもう一つ起動させてそちらでクライアントのプログラムを動作させればいいと書いてあると「思う」のですが、動作しません。クライアントのプログラムを動作させても「gethostbyname: Operation not permitted」というメッセージが出て終了してしまいます。 もし、同じ本を使ったことがある方、またはそうでなくても超初心者がしてしまうような間違いや手順足らずなことなどに心当たりがあれば教えて下さい。

  • 10年程前のフリゲについて

    10年程前にやっていたフリゲがあったのですが、 名前が全く思い出せません。 誰か心当たりのある方がいらっしゃれば是非教えてください。 【ジャンル】2人対戦ミニゲーム集? 【概要】ミニゲーム集で、とにかくカオス・シュールなキャラが たくさん出ていた気がします。 ミニゲームを数個の選択肢から選んで対戦するようなゲームだったと思います。 シリアスなどは一切なく、確かバカゲ―のような体裁でした。 記憶にあるミニゲームの内容は、 ・ZX連打の餅つきみたいなもの ・天使と何かが打ち合うもの(お助けアイテムで軍隊の矢が画面中を覆っていた記憶) BGMがクラシックだったような 結構独特なゲームですが探しても見当たりません。 恐らく記憶を見返すと「呪いの館」で お馴染みKlik and Play製のゲームだと感じました。 餅つきのほうのみお絵かきで簡単に描いてみましたので もし心当たりのある方がいればご報告お願いいたします。

  • ブラウザゲームのクライアント側プログラムについて

    ブラウザゲームの作成を考えているのですが、 クライアント側プログラムの選択で迷っています。 Flash,Java,Silverlightなどのそれぞれのメリット・デメリットを教えて頂きたいです。 (開発効率・コスト・習得の容易さ などなど) ちなみにサーバ側はPHPで組もうと思っています。 ゲーム内容はシミュレーションRPGのようにシナリオを進め、育てたキャラで 他のプレイヤーとも対戦できるようなものを考えています。 識者の皆様、ご回答頂けると助かります。 宜しくお願い致します。

  • mp3形式やpng形式の使用など…技術の勉強など

     情報処理系の専門学校で、プログラミングを勉強しはじめて、1年くらいの経験です。CやJAVAを勉強してまいりました。  枠から外れた質問になるかもしれませんが、宜しく御願します。  折角だから何かの役に立つアプリケーション(今はゲーム)をつくろうと思い、APIやDirectXの本に目を通し、それなりに理解ができてきたと思います。  ゲーム系に進路へ舵を動かつもりはないのですが、(マルチメディアに限らず)高度な技術に手を伸ばしたいと考えています。今現在はCプログラミングで、マウスでできるような簡単なゲームを作ろうとしています。  しかしながら、APIやDirectXなどの入門書に目を通しましたが、自分の思うような技術が見当たらないのです。たとえばタイトルにもある形式です。  BMPやWAVE、MIDIではなくmp3やpngファイルを使用したいと思いましたが、ネットワークを介して調べても扱い方が書いてありませんでした。やむを得なく、BMPとMIDIに切り替えて、プログラム設計をしています。  前に、フリーゲームでMP3やPNGを使用しているプログラムを見かけましたがどのような方法をとれば、C言語で扱うことができるのでしょうか?  余談ですがゲーム開発のCGは会社独自の画像形式を扱ってるなど、プログラムは深淵極まりない世界に感じます。  そのような高等技術の勉強を独学ですることは不可能なのでしょうか?書籍をあさって目ぼしい物が見当たりません。アドバイスを御願します。

  • Windows向けの自作ゲームに使うプログラム言語

    プログラミングで自作のゲームを作りたいと思っています。 その際、使う言語は何がいいのでしょうか? ゲームはおそらく僕個人か、賛同者がいても数名の、 かなり小さなものになるのですが、 最終的にはネットゲームのような形にできればいいと思っています。 (ブラウザゲームなのか、サーバー型ゲームなのか、P2P型ゲームなのかは未定) プログラミング経験は、以前C言語をかじったことがあります。 しかしWindowsアプリケーションはおろか、コンソールアプリケーションの時点で、諦めてしまいました。 なので、コマンドライン上で動くプログラムしか作ったことがありません。 知り合いには、C言語は個人開発にはハードルが高すぎる。みたいなことを言われました。 DirectXや.NETなど(ランライムっていうんでしょうか?) を使うことも考えていますが 果たして使ったほうがいいのか、使わないほうがいいのか、 つまり、メリットとデメリットが良く分かりません。 (Wikipediaなどで調べても、言葉が難しくてよく理解できません) それ以前に、ランタイムがどういうものかをあまり理解していないのもありますが・・・ 話にまとまりがありませんが、アドバイスをお願いします。

  • ゲームプログラミングのネットワーク対戦

    毎回、お世話になっています。 開発環境:Visual Studio 2005 Visual C++ 開発言語:C/C++ + Win32API + DirectX9 現在、上記の環境・言語でゲームプログラムを作成中です。 そのゲームに、ネットワーク対戦を導入したいと思っています。 そこで質問なのですが、どのように実装すればよいでしょうか? 質問が非常に抽象的で申し訳ないのですが、まずは、DirectPlayやWinSockなどのライブラリの中で、何を使えばいいのか、をアドバイスしていただければと思います。 また、出来ましたら簡単に仕組みを解説していただければ幸いです。 その後、具体的な導入方法について自身で調べてみることにします。 通信の特徴として、 ・1vs1の通信対戦 ・一回のデータ量は少ないが、ほぼリアルタイムに送信 という感じです。 ネットワークプログラミングにはあまり触れたことがないこともあり未熟な身ですが、ご存知の方がいましたらご教授よろしくお願いします。