環境はVisualStudioC#Expressを使っています。
今回動きのあるゲームを作ろうと思ったのですが、
最も基本となるFPSの処理と再描画の処理が理解できません・・・。
簡単な動きのないアプリケーションくらいしか作れない程度のレベルなので、かなり細かいところになると分からないと思います。
プログラムだけ書かれてもどこにそれを書けばよいのか分からないほどだと思います。FPSに関してはTimerコンポーネントを使ってみたのですがうまくいきません。
そこで教えていただきたいことは、
(1)簡単なFPSのサンプルプログラム(出来れば精度とかもあるのでみなさんが普通にゲームに使っているようなものを)
(2)簡単な再描画処理のサンプルプログラム
(3)C#ゲーム作成にオススメなサイトや本
出来ればVisualStudio前提の説明だとありがたいです。
とりあえず球が『60FPSで動き、画面も再描画される』ことが目的です。
No.2ベストアンサー
- 回答日時:
>DirectXを使ったほうが簡単ならば是非使いたいと思います。
2Dと3Dのどちらもアクションやシューティングを作るならDirectXを活用しないと速度的に辛いですよ。SFCのドラクエ程度のゲームとかADVなら、WindowsAPIで作れないことは無いですけど。
それと球を画面に描画したいと書かれていたので、sha-girlさんはDirectXを紹介したのです。球はbmpで書かれているデータでしょうか?それとも単なる円の間違い?
FPSとDirectXの参考サイト↓
http://www.clks.jp/csg/
http://kadankai.hp.infoseek.co.jp/html/shiraishi …
http://www.atelier-blue.com/program/mdirectx/
なるほどー、プログラム内で記述した円と画像データの違いのことだったのですか。最初はただの円でFPS処理やらが出来ているか確認して、いずれはbmp画像を使うと思います。DirectXと聞いてややこしくなりそうだったので逃げてたのですが、やはり使ったほうがよさそうですね。
今C#に関しての参考書は「VisualC#2005 逆引き500の極意」しか持っていません。何かDirectXについてオススメの参考書があったら是非教えていただきたいです。
No.4
- 回答日時:
ちょっと補足を。
忘れてました。「Managed DirectX 2.0」は「XNA Game Studio」に名前が変わったようです。Xbox360とWindowsのゲームがC#で共通のプラットフォームで開発できるようになりました。数々の紹介。
http://www.saturn.dti.ne.jp/~npaka/xna/
http://ja.wikipedia.org/wiki/Microsoft_XNA
http://www.watch.impress.co.jp/game/docs/2006121 …
マイクロソフトの「XNA Game Studio」のページ。
http://www.microsoft.com/japan/msdn/xna/default. …
http://www.microsoft.com/japan/msdn/xna/XNA_deki …
http://xna-studio.jp/
「できるプログラミング XNA Game Studio Express」 という本は非売品でマイクロソフトに連絡すると入手できるようです。
つい数日前「XNA Game Studio 2.0」も発表されました。
http://pc.watch.impress.co.jp/docs/2007/0907/ms. …
http://pc.watch.impress.co.jp/docs/2007/0907/ms2 …
日本では扱いがまだ少ないですが、世界的には注目されているようです。
色々な参考サイトを教えていただきありがとうございました。
一般的にみなさんが行っている方法で簡単なゲームを作りたいのでとりあえずDirectXを用いてシューティングゲームくらい作れたらいいなと思います。
No.3
- 回答日時:
C#のゲームの本は、この三種類です。
http://www.amazon.co.jp/s/ref=nb_ss_/250-1388869 …
で、2DのDirectXの本は皆無ですね。
とりあえず、WindowsAPIの「C#ゲームプログラミング」を読んでみてはどうでしょう?
C#で使えるDirectXは「Managed DirectX」と呼ばれていますが本が少ないのです。
洋書で良ければ下記の本もあります。評判も良いようです。
http://www.amazon.co.jp/Managed-Directx-Start-Gr …
本ではないですがマイクロソフトの「Managed DirectX」の使い方解説。
http://www.microsoft.com/japan/msdn/directx/japa …
普通のDirectXの本はc/c++で書かれていますのでC#に自分で置き換える必要があり、そのまま使えるソースコードではありません。その点さえ気にならなければ本は多数出ています。
C++でもC#でもどちらでもよかったのでC++のほうが多数本が出ているというのであればC++にします。C++の参考書は『猫でも分かるゲームプログラミング』だけは持っているのですがDirectXについては全く分かっていませんでした。DirectXについて勉強したほうがよさそうですね。
No.1
- 回答日時:
FPSとはフレームパーセックの事だと思うが
そもそもDirectXのアプリは固定60フレームとかで動いてるわけではなく
可変で動いてます。
(一般的に前回表示してフレームからの経過時間ミリ秒で見ます)
Windowsの場合、優先順位の高い他のプロセスが高不可になれば
自アプリはCPUのリソースをとれなくなるので、そうなっています。
(最近の次世代機と呼ばれるものもそういう設計です。)
DirectX SDKをダウンロードすればサンプルソースが入っていますから
それを見てください。(C#用のサンプルソースも入っています。)
http://www.microsoft.com/japan/msdn/directx/down …
球ということは3Dですよね?
DirectXを使わず球の表示を60fpsの速度で描画をするのは
難しいと思いますし、オブジェクト数が増えれば60fpsを維持する事は出来なくなるでしょう。
それはDirectXを使っても同じことです。
すみません3Dではなく2Dでお願いします。
「DirectXを使う」ということがよく分かっていません。プログラム中で呼び出したりして使うのでしょうか。
DirectXを使ったほうが簡単ならば是非使いたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- マウス・キーボード PCのマウスカーソルの動きが鈍い/時々止まるようになりました 5 2023/05/27 17:04
- BTOパソコン ゲーミングPCを初めて購入したいと思っているのですが、初心者なので、何を買えばいいのか分かりません。 5 2023/07/15 16:02
- 据え置き型ゲーム機 PS5向けに開発されているゲームって、PCユーザーを意識した物が多すぎませんか? タイトルは伏せます 5 2023/05/15 13:14
- デスクトップパソコン pcの不調(ゲーム) 1 2023/06/18 19:50
- CPU・メモリ・マザーボード ハイスペックなのにゲームがかくつきます CPU 12世代 i9-12900k 3.19GHz RAM 3 2022/05/05 13:20
- 防犯カメラ・監視カメラ・小型カメラ Windowsのカメラ機能。設定した通りのfpsでの撮影ができず、コマ落ち動画になる。修正するには? 2 2023/01/29 09:50
- ゲーム 高画質でゲームは動かないけど動画が動くのは何故ですか? 3 2023/06/16 22:25
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- CPU・メモリ・マザーボード ハイスペックなのにゲームがかくつきます CPU 12世代 i9-12900k 3.19GHz RAM 4 2022/04/29 02:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[VB.net] DataGridViewの列ヘッ...
-
PCで「使用可能な場合はグラフ...
-
VB6,リストボックスの特定行の...
-
多角形の描画。(VC++)
-
C++にて、塗りつぶされた円を描...
-
UpdateData( FALSE); による文...
-
word
-
WM_SIZEとWM_SIZINGの違い (Win...
-
ちらつきを何とかしたい
-
CScrollViewの使用方法について
-
タブコントロール上のピクチャ...
-
MFCのタイマーのつかい方を教え...
-
VBAにGDI+を参照させる方法
-
VB.netでのライン描画方法がわ...
-
MFCタブコントロールのグラデー...
-
NVIDIAのシェーダーキャッシュ
-
アプリケーションのデザイン
-
ビューにビットマップファイル...
-
c++ ダブルバッファリング、以...
-
ペーパーマリオみたいにドット...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
NVIDIAのシェーダーキャッシュ
-
MFCでOnPaintのタイミング
-
TextBoxに文字を書いても表示さ...
-
word
-
UpdateData( FALSE); による文...
-
VC++プログラムをつかったBMP画...
-
InvalidateRectの使い方について
-
StretchBlt関数について
-
OneNote 2010 文字と描画がずれる
-
C# ラバーバンドの描画を快適に...
-
エクセルでガンチャートを作成...
-
C++にて、塗りつぶされた円を描...
-
VBAにGDI+を参照させる方法
-
MFC DrawText 背景色とフォント
-
GDI+で高速な描画
-
MFCのタイマーのつかい方を教え...
-
Labelの文字をスクロールする際...
-
FlexGridの一部のみ表示を更新...
おすすめ情報