Пример #1
0
 // 衝突時に実行
 protected override void OnCollision(CollidableObject obj)
 {
     // 衝突対象が敵だったら自身を削除
     if (obj is Enemy)
     {
         Parent?.RemoveChildNode(this);
     }
 }
Пример #2
0
 // 衝突時に実行
 protected override void OnCollision(CollidableObject obj)
 {
     // 衝突対象がプレイヤーだったらBulletのOnCollisionを実行して削除
     if (obj is Player)
     {
         Parent?.RemoveChildNode(this);
     }
 }
Пример #3
0
 // 衝突時に実行
 protected override void OnCollision(CollidableObject obj)
 {
     // 衝突対象が敵か敵の弾だったら
     if (obj is Enemy || obj is EnemyBullet)
     {
         // 自身を親から削除
         Parent.RemoveChildNode(this);
     }
 }
Пример #4
0
        // 衝突時に実行
        protected override void OnCollision(CollidableObject obj)
        {
            // 衝突対象が自機弾だったら
            if (obj is PlayerBullet)
            {
                // 死亡時エフェクトを再生
                Parent.AddChildNode(new DeathEffect(Position));

                // 自身を削除
                Parent.RemoveChildNode(this);
            }
        }
Пример #5
0
        // 衝突時に実行
        protected override void OnCollision(CollidableObject obj)
        {
            // 衝突したのが自機弾だったら
            if (obj is PlayerBullet)
            {
                // HPを1減らす
                HP--;

                // HPが0になったらEnemyクラスのOnCollisionを呼び出して削除
                if (HP == 0)
                {
                    base.OnCollision(obj);
                }
            }
        }
Пример #6
0
 // 衝突時に実行
 protected override void OnCollision(CollidableObject obj)
 {
     // 衝突対象が敵か敵の弾だったら
     if (obj is Enemy || obj is EnemyBullet)
     {
         + // 死亡音を読み込む
         +var deathSound = Sound.LoadStrict("Resources/Explosion.wav", true);
         +
         + // 死亡音を再生
         +Engine.Sound.Play(deathSound);
         +
         // 自身を親から削除
         Parent.RemoveChildNode(this);
     }
 }
Пример #7
0
        // 衝突時に実行
        private void CollideWith(CollidableObject obj)
        {
            // nullだったら終了
            if (obj == null)
            {
                return;
            }

            // 衝突対象がSurveyを実行しないオブジェクトだった場合,相手のOnCollisionも実行
            if (!obj.doSurvey)
            {
                obj.OnCollision(this);
            }

            // 自身のOnCollisiionを実行
            OnCollision(obj);
        }
Пример #8
0
        // 衝突時に実行
        protected override void OnCollision(CollidableObject obj)
        {
            // 衝突対象が自機弾だったら
            if (obj is PlayerBullet)
            {
                // 死亡時エフェクトを再生
                Parent.AddChildNode(new DeathEffect(Position));

                // 自身を削除
                Parent.RemoveChildNode(this);

                // 死亡時サウンドを読み込み
                var deathSound = Sound.LoadStrict("Resources/Explosion.wav", true);

                // 死亡時サウンドを再生
                Engine.Sound.Play(deathSound);
            }
        }
Пример #9
0
 // 衝突時に実行される内容をオーバーライドして設定できる
 protected virtual void OnCollision(CollidableObject obj)
 {
 }