ちょいと質問。
A.jaf B.jafと作って、A.jafからB.jafの↓を呼び出したところ
二週目以降もif(!g_bSys_Mouseon)の中を通ってしまう。
これは一体何が悪いんだろう?

//グローバル変数
bool g_bSys_Mouseon = false;//fMouse_Onマウスオーバ状態取得 true:ON false:OFF

//マウスオーバー時表示切替(int 非オーバー時画像, int オーバー時画像,
// int マウスオーバー時サウンド(省略時無音))
void fMouse_On(int nSpA, int nSpB, int nSnd = 0)
{
int nX = -1, nY = -1;
MOUSE_GET_POS(nX, nY);

if (SP_IN_POINT(nSpA, nX, nY)) {//マウスがSPの上なら
if(!nSnd == 0){//サウンドがあれば
if(!g_bSys_Mouseon){//一週目なら(*ここ毎回通る)
g_bSys_Mouseon = true;//SP上に乗っかったフラグ立てる
SND_PLAY(nSnd, false);//音鳴らす
}
}
SP_SET_SHOW(nSpA, false);//SPAを非表示
SP_SET_SHOW(nSpB, true);//SPBを表示
}
else {//マウスがSP上に無ければ
g_bSys_Mouseon = false;//フラグ消す
SP_SET_SHOW(nSpA, true);
SP_SET_SHOW(nSpB, false);
}
}