所以我查了一下,但对我没有任何帮助。 我有一个名为“ gemAnimation1”的动画,并且有一个设置要触发的盒对撞机。当它与播放器碰撞时,我希望它切换动画。这是我拼凑的代码,但是没有用。 动画“ hasTouched”的触发器。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class gemCollider : MonoBehaviour {
private Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update ()
{
}
void OnTriggerEnter (Collider other)
{
animator.SetTrigger("hasTouched");
}
}
编辑
答案 0 :(得分:3)
OnTriggerEnter
函数用于3D GameObjects。
您使用的SpriteRenderer
和BoxCollider2D
都用于2D GameObjects。必须使用以OnTriggerEnter2D
作为参数的Collider2D
函数。
void OnTriggerEnter2D(Collider2D collision)
{
animator.SetTrigger("hasTouched");
}
注意:
您必须还必须将Rigidbody2D
附加到2D对象之一,以便调用OnTriggerEnter2D
函数。您的屏幕快照中没有看到Rigidbody2D
。