// 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>(); }
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함수 호출. } }
//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>(); }
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); // полоска здоровья врагов }