Assets\jiaoben1\bendi.cs(22,13): error CS0120: An object reference is required for the non-static field, method, or property 'bendi.hasSeenSceneTwo'
时间: 2024-02-11 07:09:18 浏览: 37
这个错误的原因是你尝试在静态方法中访问一个非静态的成员变量 `hasSeenSceneTwo`,但是非静态成员变量是属于对象实例的,只有在对象实例化后才能访问它。
解决这个问题的方法之一是将 `hasSeenSceneTwo` 变量定义为静态的。这样,你就可以在静态方法中访问它了。以下是一个示例代码:
```csharp
public class bendi : MonoBehaviour
{
private static bool hasSeenSceneTwo = false;
void Start()
{
if (hasSeenSceneTwo)
{
Debug.Log("You have seen scene two before");
}
else
{
Debug.Log("This is your first time seeing scene two");
hasSeenSceneTwo = true;
}
}
}
```
在这个示例中,我们将 `hasSeenSceneTwo` 变量定义为静态变量,然后在 `Start` 方法中访问它。由于 `Start` 方法是一个实例方法,因此我们需要创建 `bendi` 类的一个对象实例来调用它。但是,由于 `hasSeenSceneTwo` 变量是静态的,所以我们可以在静态方法中直接访问它。
如果你不想将 `hasSeenSceneTwo` 变量定义为静态变量,还有另外一种解决方法是创建一个 `bendi` 类的对象实例,并将它传递给静态方法。这样,你就可以在静态方法中访问非静态成员变量了。以下是一个示例代码:
```csharp
public class bendi : MonoBehaviour
{
private bool hasSeenSceneTwo = false;
void Start()
{
TestStatic(this);
}
static void TestStatic(bendi instance)
{
if (instance.hasSeenSceneTwo)
{
Debug.Log("You have seen scene two before");
}
else
{
Debug.Log("This is your first time seeing scene two");
instance.hasSeenSceneTwo = true;
}
}
}
```
在这个示例中,我们将 `bendi` 类的对象实例作为参数传递给静态方法 `TestStatic`。在静态方法中,我们可以通过参数 `instance` 来访问 `hasSeenSceneTwo` 变量。由于我们在 `Start` 方法中创建了 `bendi` 类的对象实例,并将它作为参数传递给 `TestStatic` 方法,所以我们可以在静态方法中访问 `hasSeenSceneTwo` 变量。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)