|■説明スペースキーでジャンプします。ブロックの判定に上下方向を付け加えて、なおかつ複数の点で判定することで、「めり込み」の状態を防いでいます。{vy=-7;jmp=1;}//下の壁に接していて、スペースが押されたらジャンプする*wYが1(自機がブロックの上に乗っているという意味)で、スペースキーが押された時、ジャンプの処理を行います。自機がいる位置により、値が決定されます)*vy=-7で自機のY方向の速度を-7にし、jmp=1でジャンプ中であることを示すフラグを立てます。{if($map.getAt(x,y)==$pat_block+1){vy+=0.4;}}//上下とも壁がなく、自機が空中にいれば速度を0.4足す*ジャンプしたままでは自機がずっと上に移動するだけになるので、自機が空中にいる場合は常にY方向の速度を0.4ずつ足しつづけます。右歩行の時のWallHit_chk()に以下の変更が加えてあります。判定点2は当たっていることになります。複数の点を調べることで、エッジギリギリのところでのジャンプ、着地などで起こるめり込み状態を回避しています。上方向だけでなく、左右下方向についても2点でチェックしています。