gpt4 book ai didi

c# - 在对撞机上播放动画师进入

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:49 25 4
gpt4 key购买 nike

我写了一个对我来说半工作的代码。除了工作动画之外,一切正常。

我想做的是,当玩家进入触发器时,如果他/她按下 E,它将执行动画。 (顺便说一句,动画工作正常,所以只是代码错误?)。

这是我到目前为止得到的:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class barTrigger : MonoBehaviour {

// press shit to drink text
public GameObject drinkText;

// bottle
public GameObject alcBottle;

// drink animator
public GameObject animatorOjbect;
Animator drinkAmin;

public bool triggerIsOn;

// Use this for initialization
void Start () {

drinkAmin = animatorOjbect.GetComponent<Animator> ();

drinkText.SetActive(false);
alcBottle.SetActive(false);

}

// Update is called once per frame
void Update () {

}

void OnTriggerEnter(Collider other){

triggerIsOn = true;

if (other.gameObject.name == "vThirdPersonController") {
drinkText.SetActive (true);

}

if (triggerIsOn && Input.GetKeyDown (KeyCode.E)) {

drinkAmin.Play ("Dab");
alcBottle.SetActive (true);
}


}

void OnTriggerExit(Collider other){

if (other.gameObject.name == "vThirdPersonController") {
drinkText.SetActive (false);
alcBottle.SetActive (false);
}
}
}

最佳答案

OnTriggerEnter 被调用一次,很难同时按下 E 按钮和 Input.GetKeyDown(KeyCode.E) 来检测它.检查 OnTriggerStay 中的 E 输入函数更适合这个,但 OnTriggerStay 有时不起作用,所以算了吧。尽管值得知道它的存在。

Input.GetKeyDown(KeyCode.E) 移动到 Update 函数,每帧 调用它,然后将其设置为 true OnTriggerEnter 函数和 falseOnTriggerExit 函数。以下是应该更改的代码。

void Update()
{
if (triggerIsOn && Input.GetKeyDown(KeyCode.E))
{
Debug.Log("E button pressed");
drinkAmin.Play("Dab");
alcBottle.SetActive(true);
}
}

void OnTriggerEnter(Collider other)
{
if (other.gameObject.name == "vThirdPersonController")
{
Debug.Log("Detected vThirdPersonController");
triggerIsOn = true;
drinkText.SetActive(true);
}
}

void OnTriggerExit(Collider other)
{

if (other.gameObject.name == "vThirdPersonController")
{
Debug.Log("Lost vThirdPersonController");
triggerIsOn = false;

drinkText.SetActive(false);
alcBottle.SetActive(false);
}
}

一旦你开始工作,开始使用 CompareTag 函数而不是 gameObject.name 因为它更熟练。

关于c# - 在对撞机上播放动画师进入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47958805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com