用途別リファレンス

当たり判定で当たったオブジェクトを消す

crashToメソッドを用いて,オブジェクトと当たり判定を行います。

次の例では,

Main

new Enemy{x:100, y:100, p:$pat_neko+49};
new Enemy{x:100, y:200, p:$pat_neko+49};
new Item{x:100, y:300, p:$pat_neko+30};
new Player{x:300,y:300};

Player

while(true){
    if(getkey("right")>0)    x+=3;
    if(getkey("left")>0)    x-=3;
    if(getkey("down")>0)    y+=3;
    if(getkey("up")>0)    y-=3;
    //Enemyオブジェクトのどれかにぶつかっているか?
    // eがundefined →ぶつかっていない
    // eがundefined以外→ぶつかったEnemyオブジェクトがeに格納される
    e=crashTo(Enemy);
    if(e){//eがundefined以外だったら
        die();//プレイヤー自身を消す
    }
    //Itemオブジェクトにぶつかっているか?
    it=crashTo(Item);
    if(it){//itがundefined以外だったら
        it.die();//ぶつかったItemオブジェクトを消す
    }
    update();
}

Enemy

// 敵の動作を書く。(とりあえず何も書かなくてもよい)

Item

// アイテムの動作を書く。(とりあえず何も書かなくてもよい)

※当たり判定を変更するにはcrashScaleの値を変更します(1なら画像の大きさと同じ) →実例

参考

Backlink

ライブデモ