Unity 3d / C# 错误 CS0103“当前上下文中不存在名称'碰撞'”[已关闭]

Unity 3d / C# Error CS0103 "The name 'collision' does not exist in the current context" [closed]

提问人:berxiv 提问时间:11/4/2022 更新时间:11/4/2022 访问量:368

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

去年关闭。

我正在尝试检测玩家的角色控制器何时触摸名为“water”的游戏对象,但收到错误“当前上下文中不存在名称'collision'”。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerTouched : MonoBehaviour
{
    public void OnControllerColliderHit(ControllerColliderHit hit)

    {
        if (collision.gameObject.tag == "Water")
        {

            Debug.Log("it worked!!");
        }
    }
}

我最初尝试使用 OnCollisionEnter,但这不起作用。

C# unity-game-engine 语法-错误 字符 冲突检测

评论


答:

0赞 cemahseri 11/4/2022 #1

将您的方法更改为此方法,它将再次起作用;

public void OnControllerColliderHit(ControllerColliderHit collision)
{
    if (collision.gameObject.tag == "Water")
    {
        Debug.Log("it worked!!");
    }
}