コード例 #1
0
 void changeHPTextAndDeathAniAct()
 {
     playerHp = nowHp;
     playerHPBar.changeHpBar(playerHp);
     if (playerHp <= 0) //죽음
     {
         playerAniCon.PlayDeath("Death");
         StartCoroutine(DeathEnd(playerAniCon.GetAniLength("Death")));
     }
 }
コード例 #2
0
    private void Update()
    {
        if (enemyHp != nowHp)
        {
            enemyHp = nowHp;
            enemyHpBar.changeHpBar(enemyHp);
            hpText.text = "Enemy Hp: " + enemyHp;
            if (enemyHp <= 0)
            {
                playerAniCon.PlayDeath("Death");
            }
        }

        if (MoveLimit(enemyPos.x, transform.position.x) ||
            MoveLimit(enemyPos.y, transform.position.y) || MoveLimit(enemyPos.z, transform.position.z)) //움직임
        {
            transform.position = Vector3.Lerp(transform.position, enemyPos, 0.5f);
        }

        if (atkAni == true) //공격
        {
            atkAni = false;
            string atkName = "";
            if (atkAniNum == 0)
            {
                atkName = "Attack01";
            }
            else if (atkAniNum == 1)
            {
                atkName = "Attack02";
            }
            else if (atkAniNum == 2)
            {
                atkName = "Critical01";
            }
            else if (atkAniNum == 3)
            {
                atkName = "Critical02";
            }

            playerAniCon.PlayAtkDmg(atkName);
            if (weaponType == (int)eWEAPON.em_BOW)
            {
                effSound.PlayEff((int)eEFFSOUND.em_ARROW);
            }
            else
            {
                if (atkAniNum % 2 == 0)
                {
                    effSound.PlayEff((int)eEFFSOUND.em_SWING1);
                }
                if (atkAniNum % 2 == 1)
                {
                    effSound.PlayEff((int)eEFFSOUND.em_SWING2);
                }
            }
            StartCoroutine(EndAni(playerAniCon.GetAniLength(atkName)));
        }
        else if (MoveLimit(enemyPos.x, transform.position.x) || MoveLimit(enemyPos.z, transform.position.z))
        {
            playerAniCon.PlayAnimation("Move");//움직임 애니메이션(점프일때 적용x)
            Debug.Log("enemy Move");
        }
        else //가만히 있을 때 애니메이션
        {
            playerAniCon.PlayAnimation("Idle");
        }

        if (enemyRot != transform.rotation) //회전
        {
            transform.rotation = Quaternion.Slerp(transform.rotation, enemyRot, 0.5f);
        }

        if (objGet == true)//물건 들기
        {
            objGet = false;
            getObj = s_itemSpawn2.GetObj(objNum);
            getObj.GetComponent <Rigidbody>().useGravity = false;
            Vector3 newPos = transform.position;
            newPos.y += 5;
            getObj.transform.position = newPos;
        }

        if (objThrow == true)//물건 던지기
        {
            objThrow = false;
            itemCntrl cntrl = getObj.GetComponent <itemCntrl>();
            cntrl.isDestroyOK = true;
            cntrl.TransferItem(targetPos);
        }
    }