コード例 #1
0
    // Move Section
    void Move()
    {
        if (Vector3.Magnitude(playerTransform.position - this.transform.position) <= attackDistance)
        {
            moveType = EnemyMoveType.Hovering;
        }


        // Calculating Distance, Direction, Direction2D
        Vector3 distance    = playerTransform.position - this.transform.position;
        Vector3 direction   = distance.normalized;
        Vector2 direction2D = new Vector2(direction.x, direction.y);

        if (direction2D.x >= 0.0f)
        {
            this.transform.rotation = Quaternion.Euler(new Vector3(0.0f, 0.0f, 0.0f));
        }
        else
        {
            this.transform.rotation = Quaternion.Euler(new Vector3(0.0f, 180.0f, 0.0f));
        }

        // Add Velocity
        this.GetComponent <Rigidbody2D>().velocity += speed * direction2D * Time.deltaTime;
        enemyPos = this.transform.position;
    }
コード例 #2
0
 //===================================
 // SetUp
 //===================================
 public void SetUpEnemyData(EnemyMoveType iEnemyMoveType, float iMoveSpeed, float iHelth)
 {
     mEnemyMoveType = iEnemyMoveType;
     mMoveSpeed     = iMoveSpeed;
     Helth          = iHelth;
     IsSetUp        = true;
 }
コード例 #3
0
    // Hovering Section
    void Hovering()
    {
        Vector3 distance  = enemyPos - playerTransform.position;
        Vector3 direction = distance.normalized;

        if (Vector3.Magnitude(playerTransform.position - this.transform.position) > attackDistance)
        {
            this.moveType = EnemyMoveType.Move;
        }
    }