C# Assets\footprints.cs(5,20):错误CS0116:命名空间不能直接包含字段或方法等成员
在为Unity创建足迹脚本时,就我面临的问题寻求帮助。 我从一些手册/指南中粘贴了这段代码(用C#)来设置足迹声音,但当我保存它并返回Unity时,出现了一个错误,如下所示: Assets\footprints.cs(5,20):错误CS0116:命名空间不能直接包含字段或方法等成员C# Assets\footprints.cs(5,20):错误CS0116:命名空间不能直接包含字段或方法等成员,c#,unity3d,namespaces,C#,Unity3d,Namespaces,在为Unity创建足迹脚本时,就我面临的问题寻求帮助。 我从一些手册/指南中粘贴了这段代码(用C#)来设置足迹声音,但当我保存它并返回Unity时,出现了一个错误,如下所示: Assets\footprints.cs(5,20):错误CS0116:命名空间不能直接包含字段或方法等成员 我使用的是Unity 2019.4.17f1 我正在使用Microsoft Visual Studio代码2019 代码来自 代码如下: using System.Collections; using Syst
- 我使用的是Unity 2019.4.17f1
- 我正在使用Microsoft Visual Studio代码2019
- 代码来自
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public AudioClip[] footstepClips;
public AudioSource audioSource;
public float footstepThreshold;
public float footstepRate;
private float lastFootstepTime;
public CharacterController controller;
void Update ()
{
if(controller.velocity.magnitude > footstepThreshold)
{
if(Time.time - lastFootstepTime > footstepRate)
{
lastFootstepTime = Time.time;
audioSource.PlayOneShot(footstepClips[Random.Range(0, footstepClips.Length)]);
}
}
}
此外,我认为我从编码学位网站获得的代码已经过时。另外,如果这个帖子中有语法错误,那是因为我在夜间犯了这个错误,如果您认为这是一个错误,那么很抱歉。您的代码不包含在类中。当您在unity中创建一个C#脚本时,它会自动为您提供类声明,以便您将代码与start和update函数一起放入 您需要在using语句下面和第一个变量声明上面添加行
public class footprint:monobhavior{
。不要忘记在文件}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Footstep : MonoBehaviour {
public AudioClip[] footstepClips;
public AudioSource audioSource;
public float footstepThreshold;
public float footstepRate;
private float lastFootstepTime;
public CharacterController controller;
void Update ()
{
if(controller.velocity.magnitude > footstepThreshold)
{
if(Time.time - lastFootstepTime > footstepRate)
{
lastFootstepTime = Time.time;
audioSource.PlayOneShot(footstepClips[Random.Range(0, footstepClips.Length)]);
}
}
}
}
有人帮帮我你需要把这些都写进课堂。。这是基本的c#您的类应该是
公共类footprint:monobhavior{…}
因为对于组件,脚本名称必须与类名匹配,才能在Unity中正确工作。我强烈建议您将PlayerController
更改为footprint
,否则,OP将直接出现Unity找不到的组件的下一个问题;)脚本和类名必须完全匹配,OP的脚本名为footprint.cs
(请参阅有问题的错误)谢谢!我更新了。我去看了教程,这部分问题完全忘了。