【问题标题】:Animate an object by pressing Key / or Mouse Click Unity3D通过按键/或鼠标单击 Unity3D 为对象设置动画
【发布时间】:2021-08-14 04:32:48
【问题描述】:

目前我正在尝试通过单击或按键来为对象设置动画。不幸的是,脚本不起作用,我已经尝试了很多其他方法来做到这一点。 这是脚本:

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

public class TurnBoard : MonoBehaviour
{   
  public Animator anim;

  void Start()
  {
    anim = GetComponent<Animator>();
  }

  void OnTriggerStay(Collider player) {
    if (player.tag == "Player" && Input.GetKeyDown(KeyCode.G)){
        //Debug.Log("touchyy");
        anim.SetTrigger("turn");

    }
}}

我已将此脚本文件分配给对象本身。对象有一个盒子碰撞器。动画有一个名为“turn”的触发器。当玩家进入碰撞区域时,我希望玩家能够通过点击/或按键激活对象的动画。 当玩家进入该区域时,我确实得到了“Debug.Log”。所以我相信检测碰撞是没有问题的。但是无法以任何方式为对象设置动画。

有什么帮助吗?谢谢!

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    OnTriggerStay 像 FixedUpdate 一样运行(因为它涉及物理),因此任何 Input 事件都不能在其中正常工作,原因与它们在 FixedUpdate 中不能正常工作的原因相同。所有 Input 函数只能在 Update 方法中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      相关资源
      最近更新 更多