VB.NET2010でDirectXを使う

タグの編集
投稿者 xvmm  (中学生) 投稿日時 2010/10/22 19:31:27
VB.NETで、Xファイルのプレビューができるソフトを作ろうと思っているのですが、
[参照]ダイアログに、"Microsoft.DirectX"が見つかりません。DirectXに関するものは全て見つかりません。
Microsoft DirectX SDK (June 2010)をインストールしても出てきません。
どうすればいいですか?

あと、Form1の(Rich)TextBoxでxファイルを編集し、それをForm2でプレビューすることはできませんか?
投稿者 ぐらす  (学生) 投稿日時 2010/10/22 22:44:58
DirextXで3Dを使用するには プロジェクト → 参照の追加 で
Microsoft.DirectX.DirectX
Microsoft.DirectX.Direct3D
Microsoft.DirectX.Direct3DX
を追加し、さらにソースコードでimport文で
Microsoft.DirectXと
Microsoft.DirectX.Direct3D
をインポートする必要があります。

>>あと、Form1の(Rich)TextBoxでxファイルを編集し、それをForm2でプレビューすることはできませんか?

Xファイルから読み込む機能があるので
テキストボックスの内容をXファイルに保存→読み込み
を自動で行うようにしてみてはどうでしょうか?
投稿者 xvmm  (中学生) 投稿日時 2010/10/23 18:39:02
>DirextXで3Dを使用するには プロジェクト → 参照の追加 で
"参照の追加"でも出てきませんでした。
再インストールしたほうがいいですか?

ちなみに、
・インストールフォルダ:D:\Program Files\Microsoft Visual Studio 10.0\Microsoft Visual Basic 2010 Express - JPN
・開発環境、VB.NET , WindowsXP Professional ServicePack3
です。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/10/26 00:15:15
DirectX は専門外なので、ぐらすさんの方が詳しいかと思いますが:


> Microsoft DirectX SDK (June 2010)をインストールしても出てきません。
未確認ですが、February 2010 を試してみては如何でしょうか。
下記投稿には、このバージョンで VS2010 に対応との情報がありました。
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/767dc8fd-3905-44f2-8e34-1566890e04b0


ちなみに VS2008 に対応したのは、March 2008 だそうです。
(この段階で、VS2005 は限定サポート、VS2003 は非サポートに変更されたとのこと)

また、Managed DirectX (MDX) 1.1 のサンプルとドキュメントが
付属する最後のリリースは、August 2007 だと聞いています。
日本語ドキュメントが欲しい場合は、少し古いですが
October 2004 の日本語ドキュメントもあると便利かも。
投稿者 xvmm  (中学生) 投稿日時 2010/10/27 20:54:02
>未確認ですが、February 2010 を試してみては如何でしょうか。
できませんでした。
>下記投稿には、このバージョンで VS2010 に対応との情報がありました。
VB.NETの問題でしょうか・・・
でも、VB.NETでは、「参照の追加」ダイアログで出てきました。
なぜかだけです。
現在インストールされているのは、
Visual Basic 2010 Express Edition
(Visual C# 2010 Express Edition <本日)
Visual Studio 2008 Professional Edition 90日間試用版(?) (VB.NETがメイン) <本日

DirectX関係ではVB2008ですることにしました。

>>>あと、Form1の(Rich)TextBoxでxファイルを編集し、それをForm2でプレビューすることはできませんか?
のやりかたを教えてください。
このページを参考にしています。
http://sorceryforce.com/manageddirectx/direct3d_loadxfile.html
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/10/27 22:04:33
> VB.NETの問題でしょうか・・・
下記を見る限り、参照設定するには DLL を直接指定する必要があるようです。
http://goo.gl/32B9   … [ゲーム作りで学ぶVisual Basic 2010入門] 375ページ

Managed DirectX のサポートはずいぶん前に終了していますし、
2010 で開発するなら、SlimDX を使った方が良いのでしょうね。
http://www21.atwiki.jp/csharpgamedev/pages/16.html
http://slimdx.org/


> のやりかたを教えてください。
XFile にはテキスト形式とバイナリ形式がありますが、
TextBox を使うという事は、テキスト形式の事でしょうか。


>>> Form1の(Rich)TextBoxでxファイルを編集し、それをForm2でプレビューすることはできませんか?

それで、分からない点はどこなのでしょうか?

文面通り、できるかできないかという質問であるならば、「可能」という答えになりますが、
聞きたい事はそういう事では無いですよね。具体的にはどの部分で困っているのでしょうか。

・Form1 から Form2 を呼び出す方法が分からない。
・TextBox に、既存のテキストファイル(*.X)を読み込ませることができない。
・TextBox の内容を、テキストファイル(*.X)に保存させることができない。
・XFile の内容を、画面上でプレビューさせる事ができない。

# 現行バージョン(DirectX10、DirectX11)では、XFile のサポートが
# 無くなっているようですね。まぁ、Managed DirectX には無関係ですが。


> このページを参考にしています。
参考までに別の記事も。VB では無いですが…。

[Cutting Edge DX 9 - X ファイル ビューア]
http://msdn.microsoft.com/ja-jp/library/dd365147.aspx
投稿者 xvmm  (中学生) 投稿日時 2010/11/1 21:44:51
自分のやりたいことは、
OpenFileDialogでXFileを選択  > "OK"ボタンクリック >  Form2 の ShowDialog() と共に、 XFile を読み込む ( Form2 )
です。
何かサンプルみたいなものはないですか?
投稿者 ぐらす  (学生) 投稿日時 2010/11/1 23:06:56
どこで困っているのか・・・を明記したほうがいいと思います。どう答えればいいか分かりません。

>http://sorceryforce.com/manageddirectx/direct3d_loadxfile.html 
ができているとすればForm2のコンストラクタでこの処理をすればいいと思います。
投稿者 xvmm  (中学生) 投稿日時 2010/12/13 22:41:24
>http://sorceryforce.com/manageddirectx/direct3d_loadxfile.html 
実行できました。
Dim OFD As New OpenFileDialog
 OFD.Filter = "x ファイル|*.x"
 OFD.Title = "XFileを開く"
 If OFD.ShowDialog() = DialogResult.OK Then
  Dim xFile As String
 End If

このあとどうすればいいかわかりません。
投稿者 VBeginer  (社会人) 投稿日時 2011/5/26 05:14:14
最初の疑問の対応策が一つ見つかりましたので、情報共有のため投稿します。
(主の方は既にVB2008を使っているかもしれませんが、
タイトルを見てこの投稿にくる他の方の参考になれば幸いです。)

私の環境:
Windows7 x64
Microsoft Visual Studio 2010
.NET Framework 4.0
DirectX SDK June 2010

参考HP:
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/767dc8fd-3905-44f2-8e34-1566890e04b0

http://nky-tech-sdt.blogspot.com/2010/02/net-framework-40.html


手順:
(DirextXインストール後)
・「参照の追加」でコンポーネントを追加する。
(VB2008で参照した時に表示されるパスのファイルを直接参照してください。)
<ファイルパス例>
"C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dll"

・アプリケーションの設定ファイル(app.config)を変更する。
<startup>
   ↓
<startup useLegacyV2RuntimeActivationPolicy="true">


私の場合はこの2ステップでDirectXを使用できるようになりました。