単純なファイル読み込み Edit

"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)対策 Edit

Windowsフォーム上でXNAを動作させる Edit

ツール等でWindowsフォーム上でXNAを使用したい場合、IGraphicsDeviceService を使用してユーザーコントロールを作成する必要があります。

フォント Edit

配布する際の注意 Edit

動画再生 Edit

エンコード Edit

  • wmvにエンコードする必要があります。
    ここではWindows Media エンコーダを使用します。
    ダウンロードはこちら

再生可能なフォーマット Edit

  1. DRM(デジタル著作権管理)が施された動画は再生できない
  2. WMV-9 “Main”プロファイル、VC-1エンコードされたもの
  3. CBR(固定ビットレート)
  4. 音声トラックがあること
  5. 音声トラックはWMAエンコード、1パスCBR
  6. XNA GSがサポートする最大ビットレートは以下の通り
    プロファイルレベル最大ビットレート解像度とフレームレート
    MainLow2 Mbps320 x 240 @ 24Hz (QVGA)
    Medium10 Mbps720 x 480 @ 30Hz (480p)
    720 x 576 @ 25Hz (576p)
    High20 Mbps1280 x 720 @ 30Hz (720p)

参考 Edit

ひにけにXNA : 動画再生

スクリプト Edit

Xnua Edit

その他 Edit

アサートでハングする Edit

  • System.Diagnostics.Debug.Assert()を使ってアサートしようと思ったら何故かハングする。。
    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);
    }
    動いた。

添付ファイル: filexna_assert_error.PNG 611件 [詳細] fileWindowsフォーム内でXNAを動かす.zip 859件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2010-04-24 (土) 00:59:38 (2645d)