自機の移動 - スクロールで使ったscrollmapメソッドを変更して、以下のように
プログラムを書き換えます。ここではx方向のみにスクロールするようになっています。
|
function scrollmap(){
var sx;
sx = x - $screenwidth/2;
if (sx<0) sx=0;
if (sx>$map.width*32-$screenwidth) sx=$map.width*32-$screenwidth;
$map.scrollTo(sx,0);
} |
上のメソッドでは、変数sxでスクロール先の位置を決めています。常に自機がスクリーン中央に表示されるようにすればOKです。以下の2つの文がこれに該当します。
|
sx = x - $screenwidth/2;
$map.scrollTo(sx,0);
|
|
 |
この状態でも問題はありませんが、自機がマップの端に来たときでもスクリーンが止まらず、表示したくない部分までスクロールされてしまいます。
スクロールをマップ端にきたときにストップするようにします。以下の2文がその条件文です。
|
if (sx<0) sx=0;
if (sx>$map.width*32-$screenwidth) sx=$map.width*32-$screenwidth;
|
同じようにして、Y方向のスクロールも行うことができます。トライしてみてください。
|