【发布时间】:2015-07-18 17:31:34
【问题描述】:
我已经研究了至少两个小时,研究如何制作一个在平台上左右移动而不会掉落的敌方角色。我已经尝试了 4 个不同的脚本并浏览了 2 个 youtube 教程,但我似乎在所有内容上都遇到了错误。这是我的第一篇文章,如果我做错了什么请通知我,谢谢:)。
我的代码如下:
using UnityEngine;
using System.Collections;
public class EnemyPatrol : MonoBehaviour {
public float MoveSpeed;
public bool MoveRight;
public var velocity: Vector2;
void Update ()
{
if (MoveRight) {
public bool GetComponent<rigidbody2D>().velocity =
new Vector2(MoveSpeed, rigidbody2D.velocity.y);
} else {
public bool GetComponent<rigidbody2D>().velocity =
new Vector2(-MoveSpeed, rigidbody2D.velocity.y);
}
}
}
我的错误:
Assets/Scripts/EnemyPatrol.cs(8,28): error CS1519: Unexpected symbol \`:' in class, struct, or interface member declaration
Assets/Scripts/EnemyPatrol.cs(8,37): error CS1519: Unexpected symbol \`;' in class, struct, or interface member declaration
Assets/Scripts/EnemyPatrol.cs(13,30): error CS1525: Unexpected symbol \`public'
Assets/Scripts/EnemyPatrol.cs(15,30): error CS1525: Unexpected symbol \`public'
【问题讨论】:
-
public var velocity: Vector2;不是有效的字段声明,您需要像在两个紧接的声明中一样指定类型和名称。 -
似乎您已将 Javascript 与 C# 代码混合在一起。 Vector2 速度变量定义看起来像 javascript。