こういうことでしょうか?
ソース中の"test2.bmp"と"test3.bmp"はDxLibのサンプルとして配布されているものです。
"test2.bmp"は5フレームに1コマ、"test3.bmp"は30フレームに1コマで
アニメーションしています。
このソースのようにグラフィックごとにアニメの状態を保持し、
フレームやGetNowCount関数で時間をカウントアップしてアニメの状態を遷移させていくのが
一般的なやり方ではないかと思います。
#include "DxLib.h"
const char *DIV_FILE1 = "test2.bmp";
const char *DIV_FILE2 = "test3.bmp";
const int DIV_NUM = 10;
const int DIV_NUM_X = 4;
const int DIV_NUM_Y = 3;
const int DIV_SIZE_X = 48;
const int DIV_SIZE_Y = 56;
const int ANIM_RATE1 = 6;
const int ANIM_RATE2 = 30;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
unsigned int iCountFrame = 0;
int GraphHandle1[DIV_NUM], AnimState1;
int GraphHandle2[DIV_NUM], AnimState2;
ChangeWindowMode( TRUE );
if( DxLib_Init( ) < 0 )
return -1;
SetDrawScreen( DX_SCREEN_BACK );
LoadDivGraph( DIV_FILE1, DIV_NUM, DIV_NUM_X, DIV_NUM_Y, DIV_SIZE_X, DIV_SIZE_Y, GraphHandle1 );
LoadDivGraph( DIV_FILE2, DIV_NUM, DIV_NUM_X, DIV_NUM_Y, DIV_SIZE_X, DIV_SIZE_Y, GraphHandle2 );
AnimState1 = AnimState2 = 0;
while( ProcessMessage( ) == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
ClearDrawScreen( );
DrawGraph( 0, 0, GraphHandle1[AnimState1], TRUE );
DrawGraph( DIV_SIZE_X, 0, GraphHandle2[AnimState2], TRUE );
ScreenFlip( );
iCountFrame++;
AnimState1 = iCountFrame / ANIM_RATE1 % DIV_NUM;
AnimState2 = iCountFrame / ANIM_RATE2 % DIV_NUM;
}
DxLib_End( );
return 0;
}