コード例 #1
0
    private void FixedUpdate()
    {
        float distance = Vector3.Distance(transform.position, Jogador.transform.position);

        myMovements.QuarternionRotation(Direction);
        myAnimator.MovementPlayer(Direction.magnitude);
        if (distance > distanceZombiesFollowPlayer)
        {
            ZombieWalking();
            myAnimator.ZombieAttackAnimation(false);
            if (Time.timeSinceLevelLoad > timeNextGen)
            {
                distanceZombiesFollowPlayer += 10;
                timeNextGen = Time.timeSinceLevelLoad + timeUpgradeDistanceZombiesFollowPlayer;
            }
        }
        else if (distance > 2.8)
        {
            Direction = Jogador.transform.position - transform.position;
            myMovements.Movement(Direction, myStatus.Velocity);
            myAnimator.ZombieAttackAnimation(false);
        }
        else
        {
            Direction = Jogador.transform.position - transform.position;
            myAnimator.ZombieAttackAnimation(true);
        }
    }
コード例 #2
0
    void Update()
    {
        float x = Input.GetAxis("Horizontal");
        float z = Input.GetAxis("Vertical");

        Direction            = new Vector3(x, 0, z);
        rotation.constraints = RigidbodyConstraints.FreezeRotationX |
                               RigidbodyConstraints.FreezeRotationY |
                               RigidbodyConstraints.FreezeRotationZ |
                               RigidbodyConstraints.FreezePositionY;
        if (x != 0 || z != 0)
        {
            Direction = new Vector3(x, 0, z);
            myMovements.MovementPlayer(Direction.magnitude);
            rotation.constraints = RigidbodyConstraints.FreezeRotationX |
                                   RigidbodyConstraints.FreezeRotationZ |
                                   RigidbodyConstraints.FreezePositionY;
        }
    }
コード例 #3
0
 private void Update()
 {
     agent.SetDestination(player.position);
     bossAnimation.MovementPlayer(agent.velocity.magnitude);
     if (agent.hasPath == true)
     {
         bool nearFromPlayer = agent.remainingDistance <= agent.stoppingDistance + 3.5;
         if (nearFromPlayer)
         {
             agent.velocity = Vector3.zero;
             Vector3 direction = player.position - transform.position;
             bossMovement.QuarternionRotation(direction);
             bossAnimation.ZombieAttackAnimation(true);
         }
         else
         {
             bossAnimation.ZombieAttackAnimation(false);
         }
     }
 }