c# - 如何使用 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");
}
}
解决方案
您必须指定该对象是 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;
推荐阅读
- react-native - 如何修复损坏的 TextInput 值更新程序
- sql-server - How to assign decimal value to string in SQL Server 2012
- vba - 显示来自 ConversationID 的电子邮件
- azure - ASP.Net Core 使用 AAD 和 B2C 进行身份验证
- c++ - 如何在文本文件中逐行搜索
- java - 我正面临这个问题 E/catch ===: org.json.JSONException: No value for sorrySignUpFirst
- c# - 在多个设备上加密和解密 ConnectionString
- javascript - Socket.io 向特定用户发出
- javascript - 如何检查 google 标记是否已加载到 html 页面上
- python - 在 Pyqt5 中打开具有网格布局的新窗口