しかし問題点が一つありまして、右向きで絵の切り替えが出来ても、左向きの状態でアニメが出来ませんでした。
コードを提示しますので、何か左向きでアニメできない原因があれば回答お願いします。
//***************************************************************
// プレイヤー処理
//***************************************************************
#include <stdio.h> //C言語
#include "Def.h" //共通定義
#include <string.h> //文字列
#include "DxLib.h" //DXLib
#include "Player.h" //プレイヤー
//グローバル変数宣言------------------------
int px=150, py=320; //画像のx,y座標
//グローバル変数参照------------------------
//アニメ状態に関するデータ
extern int p_nowNumber; //描画する絵の番号
extern int p_animeSpeed; //絵を切り替えるフレームの間隔
extern int p_animeCount; //絵の切り替えからのフレーム数
//キー入力のデータ
extern char Key[256]; //キーが押されているフレーム数の格納
extern char PrevKey[256]; //前フレームのキーの入力状態
extern char KeyEdge[256]; //このフレームで新たに入力されたキーの状態
extern int flg; //アニメフラグ
//アニメさせる画像のデータ
extern const int p_Number = 16;
extern int gp[p_Number];
//開始----------------------------------------------------------------------
void gpStart()
{
//今は何もしない
}
//メイン--------------------------------------------------------------------
void gpMain()
{
gpMove(); //移動
gpInScreen(); //移動範囲
}
//描画----------------------------------------------------------------------
void gpDraw()
{
//アニメカウント
p_animeCount++;
//アニメフラグがONで、且つp_nowNumberが6以下なら
if( flg == 0 && p_nowNumber <= 6)
{
//アニメカウントがアニメ速度以上なら
if( p_animeCount >= p_animeSpeed )
{
//アニメフラグがONなら
if( flg == 0 && p_nowNumber <= 6 )
{
p_nowNumber = (p_nowNumber--)%p_Number; //次の絵に切り替える
p_animeCount = 0; //アニメカウントを0に戻す
}
}
//p_nowNumberが3なら
if( p_nowNumber == 3 )
{
p_nowNumber = 7; //p_nowNumberを7に戻す
}
DrawGraph(px, py, gp[p_nowNumber], TRUE );
}
else
//アニメフラグがONで、且つp_nowNumberが7以下且つ4以上なら
if( flg == 1 && p_nowNumber <= 7 && p_nowNumber >= 4 )
{
DrawGraph(px, py, gp[p_nowNumber], TRUE );
}
//アニメフラグがONで,且つp_nowNumberが7以上、且つp_nowNumberが11以下
if( flg == 0 && p_nowNumber >= 7 && p_nowNumber <= 11 )
{
//アニメカウントがアニメ速度以上なら
if( p_animeCount >= p_animeSpeed)
{
if( flg == 0 && p_nowNumber >= 7)
p_nowNumber = (p_nowNumber--)%p_Number; //次の絵に切り替える
p_animeCount = 0; //アニメカウントを0に戻す
}
//p_nowNumber(フレーム)が7なら
if( p_nowNumber == 7 )
{
p_nowNumber = 11; //p_nowNumber(フレーム)を10にする
}
DrawGraph(px, py, gp[p_nowNumber], TRUE);
}
else //アニメフラグがOFFで、且つp_nowNumberが8以上、且つp_nowNumberが11以下なら
if( flg == 1 && p_nowNumber >= 8 && p_nowNumber <= 11)
{
//グラフィックの描画
DrawGraph(px, py, gp[p_nowNumber], TRUE);
}
DrawFormatString( 10, 10, GetColor(255, 255, 255), "%3dフレームに1回更新", p_animeCount);
}
//移動----------------------------------------------------------------------------------------------------
void gpMove()
{
//方向キー左を押下したら
if(Key[KEY_INPUT_LEFT] >= 1)
{
flg = 0; //アニメフラグをONにする
p_nowNumber = 7; //p_nownNumberを7にする
}
else
{
flg = 1; //アニメフラグをOFFにする
//アニメフラグがOFFで、且つp_nowNumberが4以上、且つp_nowNumberが7以下なら
if( flg == 1 && p_nowNumber >= 4 && p_nowNumber <= 7 )p_nowNumber = 7; //p_nowNumberを7にする
}
//方向キー右を押下したら
if(Key[KEY_INPUT_RIGHT] >= 1)
{
flg = 0; //アニメフラグをONにする
}
else
{
flg = 1; //アニメフラグをOFFにする
//アニメフラグOFFで、且つp_nowNumberが8以上、且つp_nowNumberが11以下なら
if( flg == 1 && p_nowNumber >= 8 && p_nowNumber <= 11)p_nowNumber = 11; //p_nowNumberを11にする
}
}