IDirect3DDevice9 の名前空間について


vb.net初心者  2011-06-24 03:19:37  No: 147340

VB.netの初心者です。
Ver1.0.2902.0のMicrosoft.DirectXを参照しています。
Dim xx as IDirect3DDevice9 とすると、「'IDirect3DDevice9'は、名前空間 'Microsoft.DirectX.PrivateImplementationDetails'では不適切です。」と表示されてしまいます。
しかし、「Dim xx as IDirect」まで打つとメニュー一覧には「IDirect3DDevice9」の項目が表示されるのですが、直接Microsoft.DirectX.PrivateImplementationDetailsとしても、IDirect3DDevice9項目が出てきませんでした。
 
念のため、「Imports Microsoft.DirectX.PrivateImplementationDetails」もしてみたのですがだめでした。

原因が分からず4日ほど困っております。
分かる方が居られましたら教えて頂けませんでしょうか。

よろしく、お願いいたします。

---  環境  ---
VS2010
WIN7
Microsoft DirectX SDK (June 2010)
参照
Microsoft.DirectX.Direct3D(Ver1.0.2902.0)
Microsoft.DirectX.Direct3DX(Ver1.0.2911.0)


翔泳幹夫  2011-06-24 05:07:42  No: 147341

入門本を買ってから質問すれば?

まだはじめてもいないレベルで質問しても無駄だろ。

よく考えろよな。
3Dねぇ。知識が無くてもキャラクターくらいはつくれるだろうけど、どれくらいの労力が必要かね。

プータロウがすぐ挫折するだろ。


YuO  2011-06-24 10:51:27  No: 147342

おそらくDirect3D.dllとDirect3DX.dllの両方に定義があるので,問題になっているのだと思います。
ただし,それ以前の問題として,IDirect3DDevice9構造体に関してJune 2007のDirectX SDKのヘルプには,
> Allows the managed application programming interface (API) to have access to the unmanaged portions of the Microsoft DirectX API. This is not intended to be used directly from your code.
つまりはユーザーコードから使われることは想定していない,とあります。

DirectXのIDirect3DDevice9インターフェースのつもりで書いたのであれば,
Microsoft.DirectX.Direct3D.Deviceクラスを使えないか検討してみた方がよいでしょう。

また,根本的な問題として,Managaed DirectXは開発が終了しているので,SlimDX等の代替ライブラリの利用を考えてみた方が良いかもしれません。
MSの当時のアナウンスだとXNA使えなのですが,C#でなくVBでは使いにくいですし……。

Site: SlimDX Homepage
http://slimdx.mdxinfo.com/


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加