以下のようなプログラムを組んで
> 起動前(※ゲームのウィンドウが表示される前)の待機中に
> 別のウィンドウをクリックしてアクティブ化したあとに、ゲームのウィンドウが表示された場合
こちらの操作をしてみたのですが、GetJoypadPOVState は 0 を返しませんでした
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int Counter = 0 ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// メインループ
while( ProcessMessage() == 0 )
{
// 画面のクリア
ClearDrawScreen() ;
// GetJoypadPOVState の戻り値が 0 だったらカウントをひとつ増やす
if( GetJoypadPOVState( DX_INPUT_PAD1, 0 ) == 0 )
{
Counter ++ ;
}
// GetJoypadPOVState の戻り値が 0 だった回数を描画する
DrawFormatString( 0, 0, GetColor( 255,255,255 ), "Count:%d", Counter ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
たろうさんの環境では上記のプログラムでも件の現象が発生してしまいますでしょうか?
あと、最新のバージョンでは直っているかもしれませんので、もし最新のバージョンをお使いでは
ありませんでしたら、こちらの暫定の最新バージョンを使ってみてください m(_ _)m
https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用
https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用
https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用
https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用
https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)