首页 > 解决方案 > 如何使用 void OnTriggerEnter2D 禁用脚本?

问题描述

所以我有这个脚本可以在我进入某个区域时禁用我的移动,我如何让我的动画从它们所在的任何动画变为我的空闲动画,只有当我进入对撞机时?谢谢!

using System.Collections.Generic;
using UnityEngine;

public class endLevel : MonoBehaviour
{
    

    public void OnTriggerEnter2D(Collider2D collision)
    {

     

        GetComponent<CharacterController2d>().enabled = false;
        Debug.Log("Level Cleared");

    }
}

标签: c#unity3d

解决方案


您必须指定该对象是 Player

首先将您的播放器对象标签或图层设置为“播放器”并转到您的脚本

if(collision.CompareTag("Player"))

或者

int PlayerLayer;
void Start()
PlayerLayer = layer.NametoLayer("Player")

if(collision.gameObject.layer == PlayerLayer)

如果碰撞的游戏对象是玩家。获取播放器脚本的 Animator 停止功能。

collision.gameObject.GetComponent<Animator>().enabled = false;

推荐阅读