示例#1
0
    // Update is called once per frame
    void Update()
    {
        //A different way of finding the player.  Keeping it just in case.
        //  Collider2D[] hitColliders = Physics2D.OverlapCircleAll(transform.position, 20);
        //  int i = 0;
        //  while (i < hitColliders.Length)
        //  {
        //      if (hitColliders[i].CompareTag("Player"))
        //          player = hitColliders[i].gameObject;
        //      i++;
        //  }
        if (hp <= 0)
        {
            Destroy(this.gameObject);
        }
        if (waitTime > 0)
        {
            waitTime--;
        }
        else
        {
            Vector3           myPos      = new Vector3(transform.position.x, transform.position.y, 0);
            EnemyBulletScript projectile = Instantiate(obj, myPos, Quaternion.identity);
            projectile.setTarget(player);
            waitTime = interval;
        }
        Vector3 playerPos = new Vector3(player.transform.position.x, player.transform.position.y, 0);
        Vector3 direction = (playerPos - GetComponent <Rigidbody2D>().transform.position);

        direction.z = 0;
        direction.Normalize();
        GetComponent <Rigidbody2D>().velocity = direction * moveSpeed;
    }