DrawCircleGauge を使用するサンプルプログラムを組んでみましたので、よろしければご覧ください
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int GrHandle ;
double AnglePercent ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// 画像の読み込み
GrHandle = LoadGraph( "TestCircle.png" ) ;
SetDrawScreen( DX_SCREEN_BACK ) ;
AnglePercent = 0.0 ;
while( ProcessMessage() == 0 )
{
ClearDrawScreen() ;
// 120フレームで一周するように角度%の値を加算する
AnglePercent += 100.0 / 120.0 ;
// 100% を超えたら 0% に戻す
if( AnglePercent >= 100.0 )
{
AnglePercent = 0.0 ;
}
// 画面の中真に円のゲージを描画する
DrawCircleGauge( 320, 240, AnglePercent, GrHandle ) ;
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0;
}
上記のプログラムで使用している TestCircle.png はこちらのものを使用しています
https://dxlib.xsrv.jp/file/TestCircle.png
> 現在のうまくいかないDrawCircleGauge関数の使い方は以下のような流れです。
> MakeScreen→SetDrawScreen(grhandle)→DrawCircle→DrawCircleGauge→SetDrawScreen(DX_SCREEN_FRONT)→DrawGraph
表画面への描画は負荷が大きいので、最後の部分を変更して
MakeScreen→SetDrawScreen(grhandle)→DrawCircle→DrawCircleGauge→SetDrawScreen(DX_SCREEN_BACK)→DrawGraph→ScreenFlip
の方が良いです