トップページ > 過去ログ > 記事閲覧
KeyInputString が遅い?
名前:B/B 日時: 2009/08/17 09:04

もしかしたら以下の現象は使用環境によるものかもしれませんが、 KeyInputString、KeyInputSingleCharString、KeyInputNumber の関数についてなのですが、 これらは私の確認した限り、どうもウィンドウモードのときのみ、「関数呼び出し時」から「入力が可能になるまで」数秒かかってしまいます。そしてその時間はウィンドウの大きさに比例するようです。 (640x480で2秒ほど) これは仕様なのでしょうか? フルスクリーンにすれば問題ないのですが、もし解決できるようならお願いいたします。

Page: 1 |

Re: KeyInputString が遅い? ( No.1 )
名前:管理人 日時:2009/08/19 09:48

うーん・・・原因がわかるようなわからないような・・・ お使いのOSは何でしょうか?
Re: KeyInputString が遅い? ( No.2 )
名前:B/B 日時:2009/08/21 19:16

Windows XP HE SP2 です。 VC++2005を使っています。
Re: KeyInputString が遅い? ( No.3 )
名前:管理人 日時:2009/08/25 23:55

すいません、最初のご質問にお答えしていませんでした KeyInputString 等の関数の入力開始前に2秒ほど処理が停止するという仕様はありません そしてご返答ありがとうございます WindowsXP でしたら私も使っているので、OSに関係した原因では無さそうです KeyInputString 等の関数は画面の状態を保存するために 画面全体を GetDrawScreen で読み込んでいるので、 その処理が環境によっては時間が掛かってしまうのかもしれません MakeKeyInput 関数を使用する文字入力の場合は GetDrawScreen は使用しませんので、 よろしければ MakeKeyInput のサンプルプログラムをウインドウモードにする記述 ( DxLib_Init の前に ChangeWindowMode( TRUE ) ; )を増やした上で試してみてください。 <<MakeKeyInput>> http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_input.html#R5N13 もし MakeKeyInput では処理の停止が発生しませんでしたら、 KeyInputString の代わりに MakeKeyInput を使う文字入力処理にしてみてください m(_ _)m
Re: KeyInputString が遅い? ( No.4 )
名前:B/B 日時:2009/08/27 19:03

MakeKeyInputは盲点でした。 サンプルプログラムを実行してみたところ、KeyInputStringとは違い処理が停止することはありませんでした。 文字入力の処理は以後MakeKeyInputを使うようにします。 管理人様、ありがとうございました。

Page: 1 |