//玩家输入 角色状态控制器 武器碰撞盒子的开关 void UpdateInput() { float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); var dirMove = new Vector3(-h, 0, -v); if (Input.GetKeyDown(KeyCode.U)) { isOutBrust = true; outBrust.SetActive(true); foreach (var canying in canyings) { canying.openGhostTrail = true; } Invoke("OutBrustOver", 5f); } if (Input.GetKeyDown(KeyCode.J)) { if (isOutBrust == true) { anim.SetBool("skillcombo", true); gameObject.transform.Translate(new Vector3(0, 0, 1)); } else { PlayerAtk(); } // weaponBox.enabled = true;//武器碰撞盒子开 //Nowstate = PlayerState.Atk;//切换状态 //人物连击 //Invoke("WeaponBoxFalse", 0.5f);//关闭碰撞盒子 //Invoke("isChangeIdle", 0.4f);//切换状态 //weaponBox.enabled = false; } //else if (Input.GetKeyDown(KeyCode.J) && Nowstate == PlayerState.Run) //{ // weaponBox.enabled = true; // Nowstate = PlayerState.Atk; // anim.Play("Atk1"); // Invoke("WeaponBoxFalse", 0.5f); // Invoke("isChangeIdle", 0.3f); //} else if (Input.GetKeyDown(KeyCode.K)) { anim.SetTrigger("IsRoll"); if (isOutBrust == true) { skillImage.SetActive(true); Time.timeScale = 0.6f; MoveSpeed = 8; foreach (var enemy in enemys) { if (enemy == null) { continue; } enemy.agent.speed = 0; } Invoke("EnemySpeedSlow", 3f); //enemy.EnemySpeedSlow(); } } else if (Input.GetKeyDown(KeyCode.L) && Nowstate != PlayerState.Atk) { if (isOutBrust == false) { weaponBox.enabled = true; anim.Play("BigAtk"); GameObject go = Instantiate(skillEfft, transform.position, Quaternion.identity); shakeCamera.ShakeFor(0.3f, 0.1f); go.transform.position += transform.forward * 8.0f; Destroy(go, 1f); Invoke("WeaponBoxFalse", 0.8f); } else { //setImage.SetActive(true); //PlayerIconTween.Restart(); //PlayerIconTween.Play(); anim.Play("BigSkill"); shakeCamera.ShakeFor(0.2f, 0.1f); //setImage.GetComponent<Image>().CrossFadeAlpha(0.5f, 1, false); //Invoke("SetImageOver", 1.5f); } } else if (Input.GetKeyDown(KeyCode.I) && Nowstate != PlayerState.Atk && Nowstate != PlayerState.Roll) { gameObject.GetComponent <Rigidbody>().useGravity = false; Nowstate = PlayerState.Guard; PlayerGuard(); playerBox.enabled = false; Invoke("PlayerBoxTrue", 0.4f); Invoke("isChangeIdle", 0.3f); } else if (Nowstate != PlayerState.Guard && Nowstate != PlayerState.Atk && Nowstate != PlayerState.Roll) { //Nowstate = PlayerState.Run; //Debug.Log(Nowstate); PlayerMove(dirMove, h); } if (Input.GetKeyDown(KeyCode.Alpha1)) { ReplyHp(); } }