DirectXでWindowに表示したい

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: DirectXでWindowに表示したい

成功報告

by bez » 2007年3月17日(土) 12:02

ゲストさん有り難うございました。
画面にHello worldが出ただけですが、すごいうれしいです。

報告します。
 ○RADツールで可視にチェック、画面を600x480に設定
                          300x480などにすると縮小画面が出た
 ○プロジェクト名.Sbp内のFALSEをTRUEに変更

コード: 全て選択


Function InitProc()
	'DirectXを初期化
'	If dx_Init(hMainWnd,ScreenX,ScreenY,FALSE)=0 Then
上記の文を下記に変更↓
	If dx_Init(hMainWnd,ScreenX,ScreenY,TRUE)=0 Then
 ○dx_graphics.sbp内のD3DFMT_R5G6B5をD3DFMT_UNKNOWNに変更
                            d3ddm.Formatに変更しても成功      

コード: 全て選択


Function dx_InitD3D(hWnd As HWND, ・・・) As Long
  ・
  ・
  ・
dx_d3dpp.BackBufferFormat = D3DFMT_R5G6B5 ' バックバッファのフォーマット
上記を下記に変更↓
dx_d3dpp.BackBufferFormat = D3DFMT_UNKNOWN ' バックバッファのフォーマット
以上です。ABDX講座に戻り、精進します。

試行1失敗

by bez » 2007年3月17日(土) 09:58

メインウィンドウの可視をチェックして実行すると
  初期化に失敗しました
とエラーが出ました。

ゲストさんのアドバイスを試してみます。

by ゲスト » 2007年3月17日(土) 05:49

dx_graphics.sbpの中身のD3DFMT_R5G6B5を
D3DFMT_UNKNOWNか、d3ddm.Formatにしてみるとか

by ゲスト » 2007年3月16日(金) 04:07

ぁ、バグ報告のスペースでしたか。
頭の中にどこかにあったなと思いつつ検索したのでバグ報告だと気づきませんでした。
普通はバグ報告まで見ませんよね。すいません

早い話、不可視のウィンドウを見えるようにすれば良いので
ShowWindow関数を使うと出来るようです

失礼しました

by bez » 2007年3月16日(金) 00:43

早い返信有り難うございます。
バグ報告まで見ておりませんでした。すみません。

とりあえず
> 少し前のバージョンのときにこの状態になりました。
> メインウィンドウが不可視に設定されているのが原因のようです。
> 可視に設定すると起動直後にウィンドウが表示されるようになりました。
を頼りに試行錯誤します。

by ゲスト » 2007年3月15日(木) 23:47

WindowモードでDirectXを利用するという事ですよね

でしたら
http://www.activebasic.com/forum/viewto ... 1%BC%A5%F3

http://www.activebasic.com/forum/viewto ... 1%BC%A5%C9
が参考になるでしょう。
ちゃんと過去ログにあるのでそちらも検索してから質問するようにしてください。

DirectXでWindowに表示したい

by bez » 2007年3月15日(木) 22:45

只今、プログラミング講座を終えて、ABDX講座を勉強中です。
講座の内容がすべて全画面モードになるのですが、
何とか、ウィンドウの中に表示できないものでしょうか・・・。
私なりに調べてみまして、

コード: 全て選択


Function InitProc()
	'DirectXを初期化
'	If dx_Init(hMainWnd,ScreenX,ScreenY,FALSE)=0 Then
'の文章を
	If dx_Init(hMainWnd,ScreenX,ScreenY,TRUE)=0 Then
'に変更
のようにしてみましたが、うまくいきませんでした。

誰か教えていただけませんでしょうか。
要は、http://www.bcap.co.jp/bez/cube.html
のように表示したいのです。
よろしくお願いします。

ページトップ