//重写高级敌人撞到子弹的判断函数 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); } }
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); } } } }
void Awake() { rb = GetComponent <Rigidbody2D>(); if (instance == null) { instance = this; } anim = GameObject.Find("Gameover").GetComponent <Animator>(); }
void Shoot() { GameObject rckt = (GameObject)Instantiate(rocketPrefab, firePoint.position, firePoint.rotation); rocket rockt = rckt.GetComponent <rocket>(); if (rockt != null) { rockt.seek(target); } }
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); //自我销毁 } }
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); } } }