Re: フルスクリーンモードといろいろ ( No.1 ) |
- 名前:管理人 日時:2017/06/25 21:11
> フルスクリーンモードにした時に何か別のウィンドウが立ち上がるとウィンドウが消えてしまうのを何とかできないでしょうか?
> 例えばWindows10でWindowsキーを押したときや、メッセージボックスを生成した時など。
>
> ただし常に一番手前に持ってくるのではなくて、何かが立ち上がったらフルスクリーンのDXライブラリはそのまま背後にある状態で
> 手前のウィンドウが表示される状態にしたいです。後ろのフルスクリーンのDXライブラリをクリックしたらまた一番手前に来るみたいな。
> 説明下手ですみません(;´・ω・)
>
> それと、フルスクリーン状態でウィンドウズの音量を操作した時に左上に表示される音量バーみたいなやつを常に一番手前に表示することはできますか?
> フルスクリーンのゲーム中に音量を変更したときに音量がわからいのは不便なので...
残念ですができません、こちらは OSの仕様なのでどうにもできません
フルスクリーンモードは、もともと一つのアプリが画面全体を占有して、その他のアプリや OS が行うシステム表示などを一切行わせない
ものとしてゲームメーカーの要望に応じて Microsoft が用意したモードなので、一つの画面に複数のウィンドウを表示させたりシステムの
表示を行いたいとのことでしたら、フルスクリーンモードを使用することはできません
( Android や iOS のように『フルスクリーンだけどシステムの表示( ダイアログ表示やお知らせなど )はアプリ画面の上に
表示される』という良いとこ取りのフルスクリーンモードは Windows には無いようです… )
> 画像が立ち上げるたびに読み込めたり読み込めなかったりするのですが(大体8:2ぐらい)なぜだかわかりますでしょうか?
> アプリケーションが持つメモリの限界?画像の読み込み上限?
> 特定の画像なんですが、結構最初の方に読み込む画像です。jpg
> デバッグモードで確認してみたところ、グラフィックハンドルは帰ってきているみたいです。
『特定の画像』が読み込めないとのことですが、読み込む順番を変更しても必ず『特定の画像』だけ
読み込めないのでしょうか?
因みに、グラフィックハンドルは返ってきているとのことですが、読み込めなかった場合のグラフィックハンドルを
使用して DrawGraph などで描画した場合は、どのようなものが描画されるのでしょうか?
> ttp://dxlib.o.oo7.jp/dxprogram.html#N22
> 画像じゃない画面移動の時に「ワイプ」を作るにはどうしたらいいですか?
> 例えばタイトル画面からゲームスタートボタンを押した瞬間などいろいろ描画してた画面が切り替わる時に
> 「ワイプ」で切り替えることはできますか?
MakeScreen で作成した画面と同じサイズの仮の画面を二つ作成して、それぞれワイプで切り替える前の画面と
ワイプで切り替えた後の画面を描画することで、サンプルプログラムにある画像同士のワイプの処理で
二つの画面のワイプを行うことができます
> ノベルゲームの様なものを作ってみたいのですが、サンプルプログラムでは少し物足りないです。
> ttp://dxlib.o.oo7.jp/dxprogram.html#N20
> サウンドノベル風文字描画を以下のイメージのような関数にすることはできますか?
> DrawStr(int x,int y,int long_x,char str[]){ //x、yは最初の座標でlong_xは横の長さでこれを超えそうになると改行
文字の描画幅を GetDrawStringWidth や GetDrawStringWidthToHandle などの関数で取得することができますので、
描画する文字の数を一つづつ増やして、描画幅が long_x を超えたら改行する、という処理を行うことで
『x、yは最初の座標でlong_xは横の長さでこれを超えそうになると改行』の処理が実現できます
> //最後まで描画し終わってキー入力があったら return 1;
> //*RE(あああ)←みたいなコマンドがあれば「あああ」は赤色で描画みたいな機能も欲しいけどこれはあきらめる予定
> //*ST←みたいなコマンドがあればいったん停止、キー入力があればそこからまた描画されていく
キー入力があるまで待つ、といった処理は複数のフレームに跨ることなので、一つの関数内で行うことではありません
『20.サウンドノベル風文字列描画、テキストバッファ使用バージョン』でも『@』や『B』の文字があった場合に特殊な処理を
行っていますが、これと同じように『RE』や『ST』があったら文字の色変えやキー入力待ちを行う、といった処理を組むことになります
|
Re: フルスクリーンモードといろいろ ( No.2 ) |
- 名前:にこよん 日時:2017/06/27 17:25
>フルスクリーンモードは、もともと一つのアプリが画面全体を占有して、その他のアプリや OS が行うシステム表示などを一切行わせない
>ものとしてゲームメーカーの要望に応じて Microsoft が用意したモードなので、一つの画面に複数のウィンドウを表示させたりシステムの
>表示を行いたいとのことでしたら、フルスクリーンモードを使用することはできません
私が持っている市販のゲームなどではフルスクリーンの上に起動ということができるので、(ライブラリ内設定の問題かと思っていたので
調べてみたら疑似フルスクリーンモードなるものがあるんですね。初めて知りました。
ttp://dxlib.o.oo7.jp/cgi/patiobbs/patio.cgi?mode=view&no=3421
またここを参考にゲームに組み込んでみようかと思います。ありがとうございました。
>『特定の画像』が読み込めないとのことですが、読み込む順番を変更しても必ず『特定の画像』だけ
>読み込めないのでしょうか?
順番を少し変えたら普通に読み込めるようになりました。ありがとうございました。
順番を変えただけでなぜ読み込めるようになったのか理由を教えていただいてもよろしいでしょうか?
>因みに、グラフィックハンドルは返ってきているとのことですが、読み込めなかった場合のグラフィックハンドルを
>使用して DrawGraph などで描画した場合は、どのようなものが描画されるのでしょうか?
真っ黒でした。もしかしたらウィンドウが黒いだけで透明かもしれません。
>MakeScreen で作成した画面と同じサイズの仮の画面を二つ作成して、それぞれワイプで切り替える前の画面と
>ワイプで切り替えた後の画面を描画することで、サンプルプログラムにある画像同士のワイプの処理で
>二つの画面のワイプを行うことができます
なるほどです。これで作れるような気がします、ありがとうございました。
また分からなくなったら聞きに来るかもしれません。
>文字の描画幅を GetDrawStringWidth や GetDrawStringWidthToHandle などの関数で取得することができますので、
>描画する文字の数を一つづつ増やして、描画幅が long_x を超えたら改行する、という処理を行うことで
>『x、yは最初の座標でlong_xは横の長さでこれを超えそうになると改行』の処理が実現できます
>キー入力があるまで待つ、といった処理は複数のフレームに跨ることなので、一つの関数内で行うことではありません
>『20.サウンドノベル風文字列描画、テキストバッファ使用バージョン』でも『@』や『B』の文字があった場合に特殊な処理を
>行っていますが、これと同じように『RE』や『ST』があったら文字の色変えやキー入力待ちを行う、といった処理を組むことになります
とりあえず頑張ってみます。ありがとうございました。
|
Re: フルスクリーンモードといろいろ ( No.3 ) |
- 名前:管理人 日時:2017/06/28 01:51
> 順番を少し変えたら普通に読み込めるようになりました。ありがとうございました。
> 順番を変えただけでなぜ読み込めるようになったのか理由を教えていただいてもよろしいでしょうか?
『特定の画像』が読み込めないとのことでしたので、『特定の画像』自体に何か原因があるのかどうかを
ご確認させていただいた次第ですので、私も何故順番を変えたら読み込めるようになったのかは分かりません
> 真っ黒でした。もしかしたらウィンドウが黒いだけで透明かもしれません。
ご返答ありがとうございます
|
Re: フルスクリーンモードといろいろ ( No.4 ) |
- 名前:yumetodo 日時:2017/06/30 22:54
余談ですが
>とりあえず頑張ってみます。
GetDrawStringCharInfoToHandleなんてものもあります。ちょっと扱いが難しいですが。
qiita.com/yumetodo/items/8180d48b6fca18d78a90
参考までに
|
Re: フルスクリーンモードといろいろ ( No.5 ) |
- 名前:にこよん 日時:2017/07/09 12:18
中間報告?
サウンドノベル風文字描画は完成しました。
文章の途中にコマンドを混ぜるようなものはできませんでしたが、
十分思ってたようなものができたので満足です。
GetDrawStringCharInfoToHandleも使いました。
ありがとうございました。
仮想フルスクリーンモードは拡大した時画像がおかしかったり
マウスが反応しなかったりといろいろ問題があったので、後日再度質問するかもしれません。
ワイプは現在格闘中です。
|
Re: フルスクリーンモードといろいろ ( No.6 ) |
- 名前:にこよん (解決) 日時:2017/08/02 03:45
解決にするのが遅くなってしまってすみませんでした。
仮想フルスクリーンモード以外すべて大体思ったようにできました。
ありがとうございました。
|