用途別リファレンス
マップチップとの当たり判定
Main
$map=new Map{chipWidth:32,chipHeight:32};
$map.load("stage1.json");
x=$screenWidth/2;
y=$screenHeight/2;
while(true){
if(getkey("right")>0){
x+=3;
//マップチップとの当たり判定
if($map.getAt(x,y)>-1){
x-=3;
}
}
if(getkey("left")>0){
x-=3;
//マップチップとの当たり判定
if($map.getAt(x,y)>-1){
x+=3;
}
}
if(getkey("down")>0){
y+=3;
//マップチップとの当たり判定
if($map.getAt(x,y)>-1){
y-=3;
}
}
if(getkey("up")>0){
y-=3;
//マップチップとの当たり判定
if($map.getAt(x,y)>-1){
y+=3;
}
}
update();
}
これは上下左右に動かせる中央のオブジェクトがset modeで置いたマップチップを$map.getAtでマップチップの値を取得してとぶつかると押し戻されるようにし、重なることができないようにしたもの。
- setOn modeで置いたマップチップとの当たり判定を得たい場合は、$map.getAtを$map.getOnAtに変える。
当たり判定で壁にぶつかる
マップチップを取得する