Esempio n. 1
0
    void OnTriggerEnter2D(Collider2D c)
    {
        // レイヤー名を取得
        string layerName = LayerMask.LayerToName(c.gameObject.layer);

        // レイヤー名がBullet (Player)以外の時は何も行わない
        //if (layerName != "Bullet(Player)") return;
        if (layerName == "Bullet(Player)")
        {
            // PlayerBulletのTransformを取得
            Transform playerBulletTransform = c.transform.parent;

            // Bulletコンポーネントを取得
            Bullet bullet = playerBulletTransform.GetComponent <Bullet>();

            // ヒットポイントを減らす
            hp = hp - bullet.power;

            // 弾の削除
            Destroy(c.gameObject);
        }

        //爆発に当たったら(誘爆)
        if (layerName == "Explosion")
        {
            Transform explosionTransform = c.transform;

            Explosion explosion = explosionTransform.GetComponent <Explosion>();

            hp -= explosion.power;

            //Debug.Log("ddd");
        }

        if (hp <= 0)
        {
            ItemPar    = Random.Range(0, 10);
            ItemNumber = Random.Range(0, PItem.Length);

            //Debug.Log(ItemPar);
            //Debug.Log("---------------" + PItem[0]);

            if (spaceship.div == true)
            {
                spaceship.Division();
            }

            if (ItemPar == 0)
            {
                // PowerItemを作成する
                GameObject item = (GameObject)Instantiate(PItem[ItemNumber], transform.position, Quaternion.identity);
            }

            // 爆発
            spaceship.Explosion();

            //必殺ゲージの値をプラス
            GameObject ob_Gauge = GameObject.Find("Gauge");
            ob_Gauge.GetComponent <Gauge>().ADDgauge();

            // エネミーの削除
            Destroy(gameObject);

            GetComponent <ScoreEnemyManager>().GetPoint();
        }
        else
        {
            spaceship.GetAnimator().SetTrigger("Damage");
        }
    }