Пример #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
        // 画面外に出た時自身を消去
        private void RemoveMyselfIfOutOfWindow()
        {
            var halfSize = Texture.Size / 2;

            if (Position.X < -halfSize.X ||
                Position.X > Engine.WindowSize.X + halfSize.X ||
                Position.Y < -halfSize.Y ||
                Position.Y > Engine.WindowSize.Y + halfSize.Y)
            {
                // 自身を削除
                Parent?.RemoveChildNode(this);
            }
        }
Пример #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
        // 衝突時に実行
        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);
            }
        }
Пример #8
0
        // フレーム毎に実行
        protected override void OnUpdate()
        {
            // 表示されるテクスチャのサイズを取得
            var size = new Vector2F(Texture.Size.X / 9, Texture.Size.Y);

            // 表示されるテクスチャの左上の座標を計算する
            var pos = new Vector2F(size.X * (count / 2 % 9), size.Y);

            // 描画範囲を設定
            Src = new RectF(pos, size);

            // カウントを進める
            count++;

            // カウントが18以上で自身を削除
            if (count >= 18)
            {
                Parent.RemoveChildNode(this);
            }
        }