Re: 複数ウィンドウを使用するにあたって ( No.1 ) |
- 名前:管理人 日時:2017/03/20 00:57
DXライブラリは基本的にひとつのウインドウに対して描画などを行うことを前提とした
設計となっているので、複数ウインドウに描画する機能はおまけのようなもので、
多くのウインドウ関連の関数を複数ウインドウに対応させる予定はありません
> ここまでくると自分で DirectX や WinAPI について勉強した方がいいのかなと思いますが、どうなのでしょうか。
DXライブラリのメインウインドウ以外のウインドウに対して効果のある関数は基本的に
自前で作成・制御を行う必要があるので、DXライブラリの機能を使用する場合でも
WinAPI については学習する必要があります
DXライブラリを使用しない場合は DirectX, WinAPI の勉強をする必要がありますが
DirectX については、現在最新バージョンの DirectX 12 や、一つ前の DirectX 11 は
最早ホビー向けとは言えない仕様となってしまっているので、使いこなすのは少し大変かもしれません
それでも挑戦されるのでしたら、DirectX 11 をお勧めします( DirectX 12 はまだ資料も少ない上に
プロですら使いこなすのが難しい代物となっているようなので… )
> あと、DXライブラリが作成するウィンドウの非クライアント領域が微妙に大きいのはなぜなのか教えてもらえるとありがたいです。
ウインドウの設定によるものです
非公開関数の SetWindowStyleMode を使用して、DxLib_Init を呼び出す前に
SetWindowStyleMode( 9 ) ;
を実行すると、ウインドウの非クライアント領域が微妙に大きいのが解消されます
|
Re: 複数ウィンドウを使用するにあたって ( No.2 ) |
- 名前:yuki 日時:2017/03/20 18:12
返信ありがとうございます。
質問に関してですが、よくよく考えてみるとマウスの位置とウィンドウごとの判定ぐらいなので
どうにかできそうな気がしてきました。
というか、できました。
ウィンドウハンドルを返してくれるものをつくってくださっているので、
それによってハンドルを取得してデスクトップ上におけるウィンドウの右上の座標を求めて、
補正とするだけですみました。
勉強に関してですが、必要なときだけ調べて公式リファレンスとかでみつけたものをざっと情報収集して使い、
基本はDXライブラリですませようかな、と思っています。
丁寧に考えてくださりありがとうございました。
あと、ぶっちゃけ一般人からした複数ウィンドウはただのロマンでしかないのでできればいいなー程度です。
ところで、勉強するのにDXライブラリのソースファイルを参考に、逆算的に勉強するのはどうなのでしょうか。
そういうのはやめておいたほうがいいとかありますかね。
|
Re: 複数ウィンドウを使用するにあたって ( No.3 ) |
- 名前:管理人 日時:2017/03/20 22:47
> ところで、勉強するのにDXライブラリのソースファイルを参考に、逆算的に勉強するのはどうなのでしょうか。
> そういうのはやめておいたほうがいいとかありますかね。
いえ、特にやめておいたほうがいいということはないと思います
と申し上げたいところですが、DXライブラリでは VisualC++ 6.0( 1998年発売 ) でも
WindowsVista( 2006年発売 ) 以降でしか使用できない WinAPI を呼ぶためや、
DirectX SDK が無くても DirectX API を呼べるようにするためにあまり一般的ではない
方式で WinAPI や DirectX API を使用しているので、いきなりDXライブラリのソースから
入るのは止めておいたほうが良いと思います
( DXライブラリのソースで不明な点が発生しても、一般的な DirectX の使い方が
解説されているサイトの情報では疑問が解消できなくなってしまう可能性が高くなるため )
|
Re: 複数ウィンドウを使用するにあたって ( No.4 ) |
- 名前:yuki 日時:2017/03/23 10:17
なるほど、わかりました
地道にネット使って頑張ってみます
質問に答えていただきありがとうございました。
|