C# 错误CS1525:意外的符号`插入变量名';,期待`.';
我在Unity 5中收到此错误消息 错误:意外符号C# 错误CS1525:意外的符号`插入变量名';,期待`.';,c#,unity3d,unity5,C#,Unity3d,Unity5,我在Unity 5中收到此错误消息 错误:意外符号插入变量名',应为' 有几件事不允许您的代码编译 首先,您指定您的jumpUp和jumpDown方法将返回一个IEnumerator,但是您不返回一个。如果您不需要在jumpUp和jumpDown中等待一段时间,则它们的返回类型应为void,而不是IEnumerator public void jumpUp (float jumpHeight) { jumpHeight = 3.0f; transform.position =
插入变量名',应为'
有几件事不允许您的代码编译
首先,您指定您的jumpUp
和jumpDown
方法将返回一个IEnumerator
,但是您不返回一个。如果您不需要在jumpUp
和jumpDown
中等待一段时间,则它们的返回类型应为void
,而不是IEnumerator
public void jumpUp (float jumpHeight)
{
jumpHeight = 3.0f;
transform.position = new Vector3(transform.position.x,
transform.position.y + jumpHeight,
transform.position.z);
}
public void jumpDown (float jumpHeight)
{
jumpHeight = 3.0f;
transform.position = new Vector3(transform.position.x,
transform.position.y - jumpHeight,
transform.position.z);
}
其次,在jumpTest
方法中,尝试调用jumpUp
和jumpDown
传递jumpHeight
变量。您不需要在传递的变量前面使用float
关键字,因为您不是在创建新变量,而是在使用已经存在的变量
public IEnumerator jumpTest()
{
jumpUp(jumpHeight);
yield return new WaitForSeconds(1);
jumpDown(jumpHeight);
}
最后,为了使IEnumerator
方法正常工作,您需要使用start例程()
调用它。例如,在更新方法中:
void Update ()
{
jump = Input.GetKey(KeyCode.Space);
if (jump == true)
StartCoroutine(jumpTest());
}
错误发生在哪里?什么行号/字符位置?它是发生在构建时还是运行时?
public IEnumerator jumpTest()
{
jumpUp(jumpHeight);
yield return new WaitForSeconds(1);
jumpDown(jumpHeight);
}
void Update ()
{
jump = Input.GetKey(KeyCode.Space);
if (jump == true)
StartCoroutine(jumpTest());
}