Ejemplo n.º 1
0
 // Use this for initialization
 void Start()
 {
     _randommove  = GetComponent <RandomMove>();
     _track       = GetComponent <Track>();
     _attack      = GetComponent <Enemy_Attack>();
     _player      = GameObject.FindWithTag("Player").transform;
     Particle_hit = GetComponentInChildren <ParticleSystem>();
 }
Ejemplo n.º 2
0
 private void Player_Warrior_Attack() //Player_Warrior가 공격시 Enemy_Dish 체력 하락
 {
     Collider2D[] HitBox = Physics2D.OverlapCircleAll(Player_Warrior_FindEnemy.position, Player_Warrior_HitBox, EnemyLayer);
     foreach (Collider2D Enemy_Attack in HitBox)
     {
         Enemy_Attack.GetComponent <Enemy_Dish>().Enemy_TakeDamage(); // Enemy_Dish.cs에 있는 TakeDamage함수 호출.
     }
 }
Ejemplo n.º 3
0
    //Start & Upda
    protected void BaseAwake()
    {
        enemy        = transform.GetChild(0).gameObject;
        enemy_attack = transform.GetComponentInChildren <Enemy_Attack>();
        enemy_dead   = transform.GetComponent <Enemy_Dead>();

        spriteRenderer = transform.GetChild(0).GetComponent <SpriteRenderer>();
        animator       = GetComponent <Animator>();
        rb2d           = GetComponent <Rigidbody2D>();
    }
Ejemplo n.º 4
0
    void Update()
    {
        transform.position = new Vector3(Mathf.Clamp(transform.position.x, -8.62f, 8.62f), transform.position.y, transform.position.z);
        transform.position = new Vector3(transform.position.x, Mathf.Clamp(transform.position.y, -3.37f, 3.64f), transform.position.z);

        Target_Move = character.transform.position - transform.position;
        transform.Translate(Target_Move * speed * Time.deltaTime);

        distance = Target_Move.magnitude;

        if (Target_Move.x > 0f && Target_Move.y < 1.5f && Target_Move.y > -1.5f)
        {
            anim.SetInteger("Zeleton_action", 4); //right
            if (distance < 0.4)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 8);
                Enemy_Attack.Action_Enemy(punch_enemy.position, punchRadius_enemy, 10, damager_enemy);
            }
            else
            {
                speed = speed_tet;
            }
            if (curHealthEnemy <= 0)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 9);
            }
        }

        else if (Target_Move.x < 0f && Target_Move.y < 1.5f && Target_Move.y > -1.5f)
        {
            anim.SetInteger("Zeleton_action", 3); //left
            if (distance < 0.4)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 7);
                Enemy_Attack.Action_Enemy(punch_enemy.position, punchRadius_enemy, 10, damager_enemy);
            }
            else
            {
                speed = speed_tet;
            }
            if (curHealthEnemy <= 0)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 9);
            }
        }

        else if (Target_Move.y >= 1.5f && Target_Move.x <= 50f && Target_Move.x >= -50f)
        {
            anim.SetInteger("Zeleton_action", 1); //up
            if (distance < 0.4)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 6);
                Enemy_Attack.Action_Enemy(punch_enemy.position, punchRadius_enemy, 10, damager_enemy);
            }
            if (curHealthEnemy <= 0)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 9);
            }
        }
        else if (Target_Move.y <= -1.5f && Target_Move.x <= 50f && Target_Move.x >= -50f)
        {
            anim.SetInteger("Zeleton_action", 2); //down
            if (distance < 0.4)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 5);
                Enemy_Attack.Action_Enemy(punch_enemy.position, punchRadius_enemy, 10, damager_enemy);
            }
            else
            {
                speed = speed_tet;
            }
            if (curHealthEnemy <= 0)
            {
                speed = 0;
                anim.SetInteger("Zeleton_action", 9);
            }
        }

        else
        {
            anim.SetInteger("Zeleton_action", 0);
        }

        healthObj_enemy.transform.localScale = new Vector3(curHealthEnemy / maxHealthEnemy, 1, 1); // полоска здоровья врагов
    }