*単純なファイル読み込み [#hc4eb991]
"Content/Hoge/Hoge.bi" を m_buf に読み込む。
"Content/Hoge/Hoge.bin" を m_buf に読み込む。
 // 完全パスを得る
 String path = Path.Combine(Microsoft.Xna.Framework.Storage.StorageContainer.TitleLocation, "Content/Hoge/Hoge.bin");
 // ファイルストリームを開く
 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
 // ファイルサイズを得る
 long file_size = fs.Length;
 // m_bufにファイルサイズ分のメモリ割り当て
 m_buf = new byte[file_size];
 // m_bufに読み込み
 fs.Read(m_buf, 0, (int)file_size);
 // ファイルストリームを閉じる
 fs.Close();
FileAccess.Read を指定してあげないと読み込みエラーになってしまうぽいので注意。
*ガベージコレクション(GC)対策 [#g972dc65]
-[[さぶれのプログラマー日記: XNAおさらい−ガーベージコレクション:http://sabure.inumimi.net/article/22642029.html]]
*Windowsフォーム上でXNAを動作させる [#qb0288b3]
ツール等でWindowsフォーム上でXNAを使用したい場合、IGraphicsDeviceService を使用してユーザーコントロールを作成する必要があります。~
-サンプルコードのダウンロード~
&ref(Windowsフォーム内でXNAを動かす.zip);
-参考ページ~
--[[XNA Creators Club Online - winforms シリーズ 1: グラフィック デバイス:http://creators.xna.com/ja-jp/sample/winforms_series1]]~
--[[XNA Creators Club Online - winforms シリーズ 2: コンテンツ読み込み:http://creators.xna.com/ja-JP/sample/winforms_series2]]~
XNA Creators Club Onlineのサンプルは、コントロールを削除した時に
 このコマンドの処理中にエラーが発生しました。
 オブジェクト参照がオブジェクト インスタンスに設定されていません。
というエラーが出て削除ができません(その後、フォームが壊れます)。~
新規でコードを作成すると出なかったのであまり気に留めませんでしたが、具体的な解決方法は謎です。~
このページに掲載している上記のサンプルコードではこのエラーは出ません。

*フォント [#m76dbcce]
-[[ひにけにXNA : 簡単(かもしれない)日本語表示:http://blogs.msdn.com/ito/archive/2008/02/22/simple-japanese-message.aspx]]

*配布する際の注意 [#a26c20d8]
-XNA Game Studio 3.1で作成した場合、以下を配布先のPCにインストールしてもらう。~
[[ダウンロードの詳細 : Microsoft XNA Framework Redistributable 3.1:http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2]]

*動画再生 [#hbe76551]
**エンコード [#b227f8ca]
-wmvにエンコードする必要があります。~
ここではWindows Media エンコーダを使用します。~
ダウンロードは[[こちら:http://www.microsoft.com/japan/windows/windowsmedia/download/encode.aspx]]
**再生可能なフォーマット [#h0c57f34]
+DRM(デジタル著作権管理)が施された動画は再生できない
+WMV-9 “Main”プロファイル、VC-1エンコードされたもの
+CBR(固定ビットレート)
+音声トラックがあること
+音声トラックはWMAエンコード、1パスCBR
+XNA GSがサポートする最大ビットレートは以下の通り~
|プロファイル|レベル|最大ビットレート|解像度とフレームレート|
|Main|Low|2 Mbps|320 x 240 @ 24Hz (QVGA)|
|~|Medium|10 Mbps|720 x 480 @ 30Hz (480p)|
|~|~|~|720 x 576 @ 25Hz (576p)|
|~|High|20 Mbps|1280 x 720 @ 30Hz (720p)|
**参考 [#uf9250dd]
[[ひにけにXNA : 動画再生:http://blogs.msdn.com/ito/archive/2009/06/11/video-playback.aspx]]


*スクリプト [#z9c492f1]
**Xnua [#v6917eaf]
-[[CO2 | XNA:http://crocell01.blog18.fc2.com/blog-category-6.html]]


*その他 [#o69d433d]
**アサートでハングする [#g69ad62a]
-System.Diagnostics.Debug.Assert()を使ってアサートしようと思ったら何故かハングする。。 ~
&attachref("./xna_assert_error.PNG");
 'System.MissingMethodException' のハンドルされていない例外が hoge.dll で発生しました。
 
 追加情報: 現在のバージョンの Microsoft .NET Compact Framework では、このバージョン
 のアセンブリ System, Version=2.0.0.0, Culture=neutral,
 PublicKeyToken=B77A5C561934E089 を読み込めません。
.NET Frameworkのバージョンが違うという意味かな…?
よくわかんないから自前アサートに差し替え。
 [Conditional("DEBUG")]
 public static void Assert(bool condition, string message)
 {
    if (!condition)
        throw new System.SystemException(message);
 }
動いた。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS