Dxライブラリを使って作ったゲームをフルスクリーンで実行している時、
キーボードのCtrlキーとAltキーの間にあるキーを押すと
(Windousのタスクバーのスタートボタンをクリックした時と同じこと)
スタートメニューが出てきて、ゲームは応答しなくなり、強制終了するしか
なくなります。
龍神録の館ベースにしているので、きっと龍神録でも同じだと思うのですが、
これは私だけなのか、または対策はしないでキーを押さないように気をつけるのか、
私がなにかコードを書き忘れているのか、
分かる方いましたら、アドバイスをください。
フルスクリーンで実行中に
Re:フルスクリーンで実行中に
wingさん、おはようございます。
自宅と会社のパソコンでやってみました。
(龍神録の館のままのソース)
スタートメニューが出ますが、ゲームの画面は閉じた様に見えますが
タスクバーには残っていますので
タスクバーから再度開いて、ゲームの終了はできました。
環境は、Win7(Pro)WinXP(Home) で、VC++2008(SP1)です。
自宅と会社のパソコンでやってみました。
(龍神録の館のままのソース)
スタートメニューが出ますが、ゲームの画面は閉じた様に見えますが
タスクバーには残っていますので
タスクバーから再度開いて、ゲームの終了はできました。
環境は、Win7(Pro)WinXP(Home) で、VC++2008(SP1)です。
Re:フルスクリーンで実行中に
ムンバさん、ありがとうございます。
私のは、Win7、VC2008EEです。
確かに、タクスバーの中で右クリックで終了させることはできました。
しかし、終了せずに再びゲームを再開しようとすると、画面が真っ黒になって
応答なしになってしまいます。
たまたま間違ってキーを押してしまっただけですから、気をつければ済むこのなんですけど。
余談ですが、
google→ググル
Yahoo!→ヤホーで検索
(少し前にはやりましたよね)
私のは、Win7、VC2008EEです。
確かに、タクスバーの中で右クリックで終了させることはできました。
しかし、終了せずに再びゲームを再開しようとすると、画面が真っ黒になって
応答なしになってしまいます。
たまたま間違ってキーを押してしまっただけですから、気をつければ済むこのなんですけど。
余談ですが、
google→ググル
Yahoo!→ヤホーで検索
(少し前にはやりましたよね)
Re:フルスクリーンで実行中に
>>しかし、終了せずに再びゲームを再開しようとすると、画面が真っ黒になって
>>応答なしになってしまいます。
Win7 ですと、帰宅しないと試せ無いので
帰宅したら色々と試したいと思います。^^
ご存知の通り、もっと詳しい方がたくさんいらっしゃいますので
それまでに、原因が解るといいですね。
>>google→ググル
>>Yahoo!→ヤホーで検索
はい。未だに、ヤホーって言ってますし。^^;
>>応答なしになってしまいます。
Win7 ですと、帰宅しないと試せ無いので
帰宅したら色々と試したいと思います。^^
ご存知の通り、もっと詳しい方がたくさんいらっしゃいますので
それまでに、原因が解るといいですね。
>>google→ググル
>>Yahoo!→ヤホーで検索
はい。未だに、ヤホーって言ってますし。^^;
Re:フルスクリーンで実行中に
>ゲームをフルスクリーンで実行している時、キーボードのCtrlキーとAltキーの間にあるキーを押すと・・・
Windowsキーの事ですね?フルスクリーンモードでは良くある話ですね。
Windowsキーだけでなく、Alt+TabキーやAlt+Windowsキー、または別アプリが
アクティブになったりするとフルスクリーンモードが解除されます。
>終了せずに再びゲームを再開しようとすると、画面が真っ黒になって応答なしになってしまいます。
私も試しに行ってみたところ、画面は真っ黒になりましたが、ゲームが応答無しには
なりませんでしたね。ゲーム自体は動いていました。そこでちょっと調べたところ、
DXライブラリのリファレンスに記載がありましたね。詳しくは下記参照願います。
http://homepage2.nifty.com/natupaji/DxL ... tml#R15N34
よって、上記リファレンスの対応を行ったらフルスクリーンのゲームに戻っても
真っ黒にはならずに元のゲーム画面に復帰しましたね。
>たまたま間違ってキーを押してしまっただけですから、気をつければ済むこのなんですけど。
確かにゲームの注意事項として『WindowsキーやAlt+Tabキー、別のアプリがアクティブになった
場合はフルスクリーンが解除され、ゲームが中断されます。』などと記載していればゲームユーザは
納得してくれるかも知れませんが、格闘ゲームやアクションゲームなど、ゲームユーザが
意図しない時に場合によってはいきなりフルスクリーンモードが解除され、ゲームが中断されてしまう
のはゲームとして行儀がよくありませんので、その対処は入れるべきだと思います。
なので試しにキーボードフックを掛け、Windowsキーがフルスクリーンモードで押下された
時にそのキーを『握りつぶす(無効にする)』処理を実装してみたところ、意図した動作
(フルスクリーンモード中にWindowsキーを押下しても解除されない事)を確認できましたので、
試してみてはいかがでしょう?但し、キーボードフックはゲーム画面が終了する際に解除する処理を
入れないと、場合によってはOSを再起動するまでずっとフックされる事があります(特にシステムフックは
他のアプリケーションにまで影響を及ぼします)。
Windowsキーの事ですね?フルスクリーンモードでは良くある話ですね。
Windowsキーだけでなく、Alt+TabキーやAlt+Windowsキー、または別アプリが
アクティブになったりするとフルスクリーンモードが解除されます。
>終了せずに再びゲームを再開しようとすると、画面が真っ黒になって応答なしになってしまいます。
私も試しに行ってみたところ、画面は真っ黒になりましたが、ゲームが応答無しには
なりませんでしたね。ゲーム自体は動いていました。そこでちょっと調べたところ、
DXライブラリのリファレンスに記載がありましたね。詳しくは下記参照願います。
http://homepage2.nifty.com/natupaji/DxL ... tml#R15N34
よって、上記リファレンスの対応を行ったらフルスクリーンのゲームに戻っても
真っ黒にはならずに元のゲーム画面に復帰しましたね。
>たまたま間違ってキーを押してしまっただけですから、気をつければ済むこのなんですけど。
確かにゲームの注意事項として『WindowsキーやAlt+Tabキー、別のアプリがアクティブになった
場合はフルスクリーンが解除され、ゲームが中断されます。』などと記載していればゲームユーザは
納得してくれるかも知れませんが、格闘ゲームやアクションゲームなど、ゲームユーザが
意図しない時に場合によってはいきなりフルスクリーンモードが解除され、ゲームが中断されてしまう
のはゲームとして行儀がよくありませんので、その対処は入れるべきだと思います。
なので試しにキーボードフックを掛け、Windowsキーがフルスクリーンモードで押下された
時にそのキーを『握りつぶす(無効にする)』処理を実装してみたところ、意図した動作
(フルスクリーンモード中にWindowsキーを押下しても解除されない事)を確認できましたので、
試してみてはいかがでしょう?但し、キーボードフックはゲーム画面が終了する際に解除する処理を
入れないと、場合によってはOSを再起動するまでずっとフックされる事があります(特にシステムフックは
他のアプリケーションにまで影響を及ぼします)。
Re:フルスクリーンで実行中に
ペリエさん、ありがとうございます。
あのキーはWindowsキーって言うんですね。いまごろ知りました。
キーボードフックを検索してみましたが、結構たいへんですね。
少しずつ勉強してみたいと思います。
Dxライブラリのリファレンスも読んでみました。
これもじっくり読んでみないとすぐにはできそうもないですね。
ゲームを作ることばかり考えていたんですが、それ以外にも
いろいろと勉強しなければならないことがあるんですね。
あのキーはWindowsキーって言うんですね。いまごろ知りました。
キーボードフックを検索してみましたが、結構たいへんですね。
少しずつ勉強してみたいと思います。
Dxライブラリのリファレンスも読んでみました。
これもじっくり読んでみないとすぐにはできそうもないですね。
ゲームを作ることばかり考えていたんですが、それ以外にも
いろいろと勉強しなければならないことがあるんですね。