1.マップパターンの分類
マップパターンを以下のA,B,C 3つに分けます。あとで扱いやすいように、画像も
グループごとにまとめておきます。
A. 背景(自機が通り抜けられる) : $pat_block+0〜$pat_block+19
B. ブロック(自機が通り抜けられない) : $pat_block+20〜$pat_block+39
C. ハシゴ : $pat_block+40〜$pat_block+59
◆block.bmpの構成

2.判定条件の書き直し
重力付加、壁、ハシゴの判定条件を修正します。
単一ブロックで判定していた箇所を、範囲指定し直せば多種のブロックに対応します。
◆例:ハシゴ判定
function Ladder(){
var center,down1,down2;
center=$map.getAt(x,y);
down1 =$map.getAt(x,y+15 );
down2 =$map.getAt(x,y+16+vy);
ld=0;
if(center>=$pat_block+40 && center<=$pat_block+59 ) ld=1;
if(down1 >=$pat_block+40 && down1<=$pat_block+59 ) ld=1;
if(down2 >=$pat_block+40 && down2<=$pat_block+59 && ld==0) ld=2;
}
|
|
|
|