2013-12-15 73 views
0

我正在研究Unity3D的MonoDevelop。我正在实施我的课程,但我得到一个错误,我无法弄清楚是什么。我得到的问题是在我重写抽象方法的标题处继续并且已完成。问题是什么?错误CS1585:成员修饰符'public'必须先于成员类型和名称

namespace tool 
{ 

    public class TaskManager 
    { 
     public TaskManager() 
     { 
     } 
    } 

    public abstract class Task { 
     public bool isEvitable = true; 
     public abstract void proceed(); 
     public abstract bool isFinished(); 
    } 

    public class MoveTask : Task { 
     float speed; 
     Vector3 targetPosition; 
     GameObject movingObject; 

     private MoveTask(GameObject gameObject, float speed, Vector3 target) { 
      this.movingObject = gameObject; 
      this.speed = speed; 
      this.targetPosition = target; 
     } 

     @override 
     public void proceed() { 
      Vector3 objPos = movingObject.transform.position; 
      movingObject.transform.position = new Vector3 (Mathf.Lerp(objPos.x, targetPosition.x, speed), 
                  Mathf.Lerp(objPos.y, targetPosition.y, speed), 
                  Mathf.Lerp(objPos.z, targetPosition.z, speed)); 
     } 

     @override 
     public bool isFinished() { 
     } 

    } 

} 
+1

从未使用替代自己,但快速谷歌建议使用:公共覆盖无效进行()...看来@override是Java,但使用的是C#,) – Tom

回答

2

试试这个。你的是java语法。

public override void proceed(){ 
} 

public override bool isFinished(){ 
    return false; 
} 
+0

这帮助了我很多:)的我使用的IDE是MonoDevelop,它误导了我太多:它从未强调过@override所在的那一行。谢谢... –

相关问题