Ejemplo n.º 1
0
 //重写高级敌人撞到子弹的判断函数
 private void OnTriggerEnter(Collider other)
 {
     //如果敌人撞到子弹
     if (other.tag.CompareTo("PlayerRocket") == 0)
     {
         rocket rocket = other.GetComponent <rocket>();
         if (HP != 0)
         {
             HP -= rocket.damage;
             if (HP <= 0)
             {
                 Destroy(this.gameObject);
                 Instantiate(m_explosionFX, transform.position, Quaternion.identity);
                 //如果死亡,就传给GameManager相应增加分数的函数score_up应该增加的函数
                 GameManager.Instance.score_up(enemypoint_super);
             }
         }
     }
     //如果敌人撞到主角
     else if (other.tag.CompareTo("Player") == 0)
     {
         HP = 0;
         Destroy(this.gameObject);
         Instantiate(m_explosionFX, transform.position, Quaternion.identity);
     }
 }
Ejemplo n.º 2
0
    void OnTriggerStay(Collider other)
    {
        GameObject parentObj;

        if (other.transform.parent.transform.parent.gameObject != null)
        {
            parentObj = other.transform.parent.transform.parent.gameObject;


            //Debug.Log(other + "ENTERED");
            if (parentObj.tag == "satelite")
            {
                drainTarget.GetComponent <energyStar>().drainEnergy(1);
                //Debug.Log(other + "ENTERED");
                rocket myRocket = parentObj.GetComponent <rocket>();
                bool   inRange  = myRocket.inRange;
                if (drainTarget.GetComponent <energyStar>().currentEnergy > 0)
                {
                    myRocket.gainEnergy();
                }
                if (inRange == false)
                {
                    parentObj.GetComponent <rocket>().inRange = true;
                    parentObj.GetComponent <rocket>().StartDrain(drainTarget);
                }
            }
        }
    }
Ejemplo n.º 3
0
 void Awake()
 {
     rb = GetComponent <Rigidbody2D>();
     if (instance == null)
     {
         instance = this;
     }
     anim = GameObject.Find("Gameover").GetComponent <Animator>();
 }
Ejemplo n.º 4
0
    void Shoot()
    {
        GameObject rckt  = (GameObject)Instantiate(rocketPrefab, firePoint.position, firePoint.rotation);
        rocket     rockt = rckt.GetComponent <rocket>();

        if (rockt != null)
        {
            rockt.seek(target);
        }
    }
Ejemplo n.º 5
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag.CompareTo("PlayRocket") == 0)        //如果撞到主角子弹
     {
         rocket rocket = other.GetComponent <rocket>(); //获得子弹上的rocket脚本组件
         if (rocket != null)
         {
             m_life -= rocket.m_power;  //减少生命
             if (m_life <= 0)
             {
                 Destroy(this.gameObject);  //自我销毁
             }
         }
     }
     else if (other.tag.CompareTo("Player") == 0)  //如果撞到主角
     {
         m_life = 0;
         Destroy(this.gameObject);  //自我销毁
     }
 }
Ejemplo n.º 6
0
    void OnTriggerEnter(Collider other)
    {
        //player enters the collision area
        if (other.gameObject.tag.Equals("Player"))
        {
            //get the player's component
            Player player = other.GetComponent <Player>();
            if (player != null)
            {
                //get the player's current accleration
                Vector3 acceleration = player.acceleration;
                m_transform.eulerAngles = acceleration;
                //new a rocket in player's moving direction

                rocket clone = Instantiate(m_rocket, m_transform.position, player.transform.rotation) as rocket;
                acceleration.z    = 0;
                clone.m_direction = acceleration.normalized;

                //GameManager.Instance.m_itemCount--;
                GameManager.Instance.AddItem();
                Destroy(this.gameObject);
            }
        }
    }