●スクロールは、常にメインキャラクターを画面の中心に置いておきたい訳だから

void CalcScroll(int *sx,int *sy)
{
 *sx=mx-320/2;
 *sy=my-240/2;
 if (sx<0) sx=0;
 if (sy<0) sy=0;
 if (sx>32*200) sx=32*200;
 if (sy>32*200) sy=32*200;
}

だったかな…

ちなみにmx,myはメインキャラクターのx,y座標