我想让它在你涂吐司的时候播放动画。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Toast : MonoBehaviour
{
Ray ray;
RaycastHit raycastHit;
public Camera cam;
public GameObject ButterIt;
private float myTimer = 0f;
private bool isCounting = false;
private Animation anim;
public GameObject yellow;
void Start()
{
cam = GetComponent<Camera>();
anim = gameObject.GetComponent<Animation>();
yellow.SetActive(false);
}
void Update()
{
ray = new Ray(transform.position, transform.forward * 100);
if (Physics.Raycast(ray, out raycastHit))
{
if (raycastHit.transform.tag == "Death")
{
ButterIt.SetActive(true);
if (Input.GetKeyDown("f"))
{
Debug.Log("Stop Touching My Junk You Pervert! - Tickle Me Bender");
isCounting = true;
}
}
else
{
ButterIt.SetActive(false);
}
}
if (isCounting)
{
myTimer += Time.deltaTime;
}
if (myTimer > 2.5f)
{
yellow.SetActive(true);
Debug.Log("WEE WOO WEE WOO - Patrick");
isCounting = false;
anim.Play("YellowFade");
}
}
}
我原以为它会让屏幕变黄一小段时间,然后进入另一个场景。我试着在互联网上寻找帮助,但我找不到任何东西,或者我太笨了,无法将其应用到我的代码中。
这是我的动画师的样子:
Animator ](https://i.stack.imgur.com/XATMO.png)
也有一个错误说:动画组件“anim”使用的AnimationClip“YellowFade”必须标记为旧版。
然后在我将其设置为legacy并触发动画后,它说:没有动画附加到主摄像机游戏对象,但它试图访问它的脚本,你可能需要添加一个动画到游戏对象主摄像机或你的脚本需要检查是否组件附加在使用它之前。
然后,当我试图添加动画,它说,旧剪辑是不允许在动画控制器。
有人能帮忙吗?
2条答案
按热度按时间iq0todco1#
您对anim声明使用了不正确的类型。正确的一个是动画,这应该解决你所有的问题
omqzjyyz2#
您正在使用Animation组件,对于新项目,请使用animator组件
对代码进行以下更改