//弾に当たったら実行(追加) public override void OnCollide(CollidableObject obj) { //エフェクト用 hitted = true; hitcount = 30; hp -= 1; //HP0でゲームクリア if (hp <= 0) { Engine.ChangeScene(new GameClearScene()); } }
//何かとぶつかったかの判定(追加) protected void CollideWith(CollidableObject obj) { if (obj is null) { return; } if (obj is Bullet) { if (IsCollide(obj)) { OnCollide(obj); obj.OnCollide(this); } } }
//弾に当たったら実行(追加) public override void OnCollide(CollidableObject obj) { //無敵でなければ判定する if (!hitted) { hitted = true; hitcount = 120; hp -= 1; //HP0でゲームオーバー if (hp <= 0) { Engine.ChangeScene(new GameOverScene()); } } }
//当たったら何をするか public virtual void OnCollide(CollidableObject obj) { }
//当たってるかの判定を返す public bool IsCollide(CollidableObject obj) { return((obj.Position - Position).Length < obj.radius + radius); }
//当たったら消える(追加) public override void OnCollide(CollidableObject obj) { Dispose(); }