c# - 如果碰撞对象具有标签“玩家”,则触发事件
问题描述
我在游戏中的蜘蛛饲养箱周围有一个触发区域,并希望在玩家走进触发器时触发蜘蛛的动画,这是我的尝试,但它返回错误“名称 'col' 不存在于当前上下文”。提前致谢!
public class Spider: MonoBehaviour
{
Animator anim;
private void Start()
{
anim = GetComponent<Animator>();
}
private void OnCollisionEnter(Collision collision)
{
if (col.gameObject.tag == "Player")
{
anim.SetTrigger("spider");
}
}
}
解决方案
当前上下文中不存在名称“col”
col
此错误消息已经解释了问题:您的代码中没有调用变量。正确的名称collision
在方法参数中定义。
private void OnCollisionEnter(Collision collision)
{
if (col.gameObject.tag == "Player")
{
anim.SetTrigger("spider");
}
}
应该
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Player")
{
anim.SetTrigger("spider");
}
}
推荐阅读
- c# - 我想在方法中放入异常
- php - 错误文档未重定向到自定义 404 页面
- javascript - 开始在 node.js 中使用 JWT
- ansible - 在不同的主机上以ansible的间隔运行任务
- javascript - 如何将 Javascript 客户端连接到 Python-SocketIO 服务器?
- macos - Safari 收藏夹图标显示为透明图像,即使它们不是
- php - 在 Laravel 中的单个按钮上实现 Modal Popup 或重定向
- c - 反映 pset4 CS50
- caching - Apache Flink 相关/缓存数据选项
- c++ - 使用 SMB 连接到 Windows Server 文件系统