C♯で3Dゲームat GAMEDEV
C♯で3Dゲーム - 暇つぶし2ch221:名前は開発中のものです。
07/10/07 19:51:19 KL55DreU
あっはっは、全然わからない・・・・orz
不安なので調べました。
DC (デバイスコンテキスト)
GDI+などを使用するときに取得する必要があるものですね。


取得出来る気がしない・・・。通常のDirectxは出来るみたいなこと書いてありましたが。調べが足らないかな・・・
.NET言語はとにかく簡単に開発するのが目的なので、あまりそういう知識が無いまま来てしまいますね。
Directxでリフレッシュレートにあわせた更新をするウィンドウを作るのも、
全てコミコミで60行前後で出来てしまいますし。
(決まりきった手順など、.NET系言語ではではデフォルト設定が存在し作れるようになった、というところがが大きいですが)


例えばMDXとは関係ありませんが、C#で純粋にウィンドウを作るだけならば、外部で多少設定が必要ですが、
以下のコードで済みますしね。
class SampleClass : Form // ウィンドウを作るためのクラスを継承した。
{
}

static class SampleEntryPoint()
{
 static void Main()
 {
  SampleClass hoge = new SampleClass(); // コンストラクタでクラスからインスタンスを作成
  hoge.show();
  while (hoge.Created)
  {
   Application.DoEvent();
  }
 }
}

222:名前は開発中のものです。
07/10/10 02:24:47 QoU150o2
>>221
そう、まさにDirectX8でなくなったのがそのGetDCなんだな
ただ、非難轟々だったらしく、DirectX9で復活したらしいという話だけ聞いた

って言っても、そもそも.NETでDCが取れたところで、
DCを使ってどーのこーのできないと意味が無いね
その辺の関数がごっそり.NETに置き換わっている気がする

223:207
07/10/11 09:50:19 0CzcpLju
やっぱりコテったほうがいいのかな?
ぐぐればすぐに出てきたので報告までに。

URLリンク(www.microsoft.com)
.NETの標準ライブラリ内にある画像描画関係のライブラリ(System.Drawing)はGDI+を使っているようです。
またこのライブラリに存在するPoint構造体、Size構造体やRectangle構造体
(いずれもXY座標や画像のサイズ、およびその組み合わせへの使用を想定した構造体)
などをMDXでは、割と引数等で使っているので、基本的にグラフィック関係をプログラムするときは
System.Drawingライブラリも参照しておくことがほとんどです。

基本的に
System.Drawing
Maicrosoft.DirectX
Maicrosoft.DirectX.Direct3D
のライブラリがあれば画像の描画には困らないと思います。
2Dゲームならばスプライト関係のみでほとんど画像描画はできます。



224:207
08/01/13 23:25:13 oBLdPERd
誰も見ていないのを承知で思い出したかのように4ヶ月ぶりにレスしてみたり。
さらにスレは3Dを作るのが目標なのに、まったく3D関連実装してる気配がないライブラリ。xファイルとか使ったことないし。作り方わからんし。

・Framework.Initialize() ・・・ゲーム製作に特化した状態にDirect3D、Input関連を初期化する関数
・Framework.Mdx.Accelerate() ・・・AltEnter、CtrlEnter、ShiftEnterが押されたか判定、モード切替、Fps切替、実装未定
・Framework.Mdx.WindowClose() ・・・ウィンドウを閉じる。
・Framework.Mdx.WindowModeToggle() ・・・モード切替。二つ↑のAltEnterはこれが呼ばれる。
・Framework.Mdx.WindowShow() ・・・ ライブラリ内で保持してるフォームインスタンスのShow()そのまま
・Framework.Mdx.WindowCreated ・・・ライブラリ内で保持してるフォームインスタンスのCreatedそのまま
・Framework.Mdx.WindowTitle ・・・タイトルバーに表示される文字列 (代入可)
・Framework.Mdx.Graph.DrawText(引数あり) ・・・非実用的デバッグ用。文字を表示したいときに。
・Framework.Mdx.Graph.MakeTexture(ファイル) ・・・テクスチャを返す。抜き色等は設定しないので事実上dds専用。
・Framework.Mdx.Graph.SpriteBegin() ・・・もともとあるSpriteBegin(アルファブレンド)そのまま。
・Framework.Mdx.Graph.SpriteEnd() ・・・もともとあるSpriteEnd()そのまま。
・Framework.Mdx.Graph.SpriteDraw(色々) ・・・2D画像描画に使用。
・Framework.Mdx.Graph.SpriteDrawFixed(色々) ・・・2D画像描画に使用。こちらは自動で画像の中心が基準になる。
・Framework.Mdx.Graph.Update() ・・・垂直同期を取りつつ描画する。(FpsSkipが1か2だと描画を間引く。)
・Framework.Mdx.Graph.Fps ・・・現在のFps (整数値、1秒ごとに更新するタイプ)
・Framework.Mdx.Graph.FpsSkip ・・・現在のFpsスキップ値。 (代入可。0~2)↑のAccelerate()のCtrlEnterはこれを++してる。
・Framework.Mdx.Graph.Render ・・・関数ポインタ。描画関連の処理は全てひとつにまとめた後、このポインタに代入する。

225:続き
08/01/13 23:27:45 oBLdPERd
・Framework.Mdx.Input.Poll() ・・・入力機器関連を全て更新
・Framework.Mdx.Input.KeyFlg(対象のキー) ・・・押されていればtrue
・Framework.Mdx.Input.JoyFlg(対象のデバイス、対象のボタン) ・・・押されていればtrue
・Framework.Mdx.Input.JoyX(対象のデバイス) ・・・-1000~1000で返る
・Framework.Mdx.Input.JoyY(対象のデバイス) ・・・-1000~1000で返る

近く実装予定
・キーコンフィグ用のクラス
・シューティングの表示物向けクラス
・シューティングの弾幕を作成するための関数
・シーンを管理する機構
・音の再生に関するクラス
・カメラ、ワールド座標の実装、3Dスプライトの実装

いつか実装予定(3Dモデルが自分で作れるようになったら。)
・メッシュ、マテリアル、テクスチャをまとめた≒3Dモデルをそのままクラス化したクラス
・↑と何かを利用して、スプライトのように簡単に3Dを描画する関数。

226:名前は開発中のものです。
08/01/19 02:51:53 MZ4kIRhC
Managed directXでゲーム作成中なんだが、まともな資料やコミュニティがないので困るぜ。
どこか質問出来るとこは無いのだろうか。公式にもカテゴリ無いしな。

227:名前は開発中のものです。
08/01/19 15:32:37 EG6dJFOe
Managed って氏んだよね?

228:207
08/01/19 19:53:52 wecEoPCw
>>227
サンプルは少し前のSDKから添付されなくなったけど、ランタイムにはManagedが動くためのファイルはまだあります

>>226
基本的な情報なら
URLリンク(msdn2.microsoft.com)
URLリンク(www.microsoft.com)
URLリンク(www.microsoft.com)

ここら辺でしょうか
他にも個人サイトが3つ4つあると思います
それでも足らない場合は、ネイティブDirectXのほうを見れば大体は解決すると思います。

229:名前は開発中のものです。
08/01/19 22:55:03 lZOHlVzA
D3DRMみたいにOS変わったらなくなりそうで怖いな

230:名前は開発中のものです。
08/01/20 03:29:23 FGM0szlo
>228
お、コミュニティのアーカイブは知らなかった。ありがとう。
しかし道程は遠そうだ。
いきなりManaged directXで3Dゲームを作ろうというのは無理があるのかね。

231:名前は開発中のものです。
08/01/21 22:16:13 QkkzJVl3
2Dのゲームは作ったが3Dは経験が無いので、
ぜひ>>230が道しるべを作っていってくれ。

232:名前は開発中のものです。
08/02/09 22:26:04 Ynomr7lQ
>>224のFramework名前空間がなんなのか気になるんだけど。
XNA?

233:207
08/02/10 05:08:02 /G3xnOO+
>>232
Frameworkは自作中のstaticクラスです。眠い。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch