Microsoft.WindowsMobile.DirectX.Direct3D.Deviceクラスのnew
W-ZERO3においては、「横画面」だとどんなパラメータであっても失敗します。その上、Exceptionの内容が数字エラーコード(0x80004005:E_FAIL(Unspecified Error))。
原因がざっぱりわからず、午後いっぱいかけてしまいました(;_;)。
悔しいのでC#による初期化コード。
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
presentParams.AutoDepthStencilFormat = DepthFormat.D16;
presentParams.EnableAutoDepthStencil = true;device = new Device(0, DeviceType.Default, this,
CreateFlags.None, presentParams);
……え?サンプルと一緒?
でも動くようになるまでむちゃくちゃかかったんですよー(;_;)。
だけでは情報がないので、いくつか。
- Manager.CheckDeviceType(0, DeviceType.Default, Format.R5G6B5, Format.Unknown, true)
必ず失敗します。これは、W-ZERO3にはHALが乗っていないから。でも、Windowss Mobileにおいては、HALがなくてもいいみたい。うーむ。
- sdカード上にデータとバイナリを配置するには
巨大なリソースをアプリだと、配置するだけで本体メモリを使い切っちゃいますが、sdカード上に置けばまずは一安心です。
各プロジェクトの「プロパティ」で
デバイス
出力ファイル フォルダの... を開く
デバイス上の出力場所 の「ルートフォルダ」を選択
サブディレクトリに「miniSDカード\」を先頭に追加
巨大なリソースって……ギャルゲでも作るつもり(笑)?>自分
コントロールライブラリは、DLLの形にビルドされます。手始めに、NotepadWMで使っているクラスをdllにしてみようかな。