示例#1
0
    void FixedUpdate()
    {
        if (!beh.game.paused)
        {
            if ((beh.me.position - beh.player.transform.position).magnitude < dist)
            {
                beh.goToPoint(beh.player.transform.position);
            }
            else if (toAvoid != null)
            {
                beh.goToPoint(-(toAvoid.transform.position - beh.me.position) + beh.me.position);
            }
            else
            {
                Quaternion rotation = Quaternion.LookRotation(beh.player.transform.position - beh.me.position);
                beh.me.rotation = Quaternion.Slerp(beh.me.rotation, rotation, Time.fixedDeltaTime * beh.multiplier);

                if (counter > 2)
                {
                    shoot();
                    counter = 0;
                }
                else if (!beh.game.paused)
                {
                    counter += Time.fixedDeltaTime;
                }
            }
        }
    }
示例#2
0
    void FixedUpdate()
    {
        if (!beh.game.paused)
        {
            beh.goToPoint(beh.player.transform.position);

            RaycastHit hit;
            if (!beh.game.paused && Physics.Raycast(beh.me.position, beh.me.forward, out hit))
            {
                if (hit.collider.gameObject.CompareTag("Player"))
                {
                    if (counter > 1)
                    {
                        shoot();
                        counter = 0;
                    }
                    else if (!beh.game.paused)
                    {
                        counter += Time.fixedDeltaTime;
                    }
                }
            }
        }
    }