2016-11-09 30 views
0

不完全确定为什么我得到这个错误。上下查看了几个小时的代码,但我认为这是一个简单的修复。有些代码是从视频拷贝过来和他的作品完全没有问题,所以我不知道为什么它会导致我的任何问题:必须有身体,因为它没有标记为抽象,外部或部分

using UnityEngine; 
using System.Collections; 

public class GoldPerSec : MonoBehaviour { 


    public UnityEngine.UI.Text gpsDisplay(); 
    public Click click; 
    public ItemManager[] items; 


    void Start() { 
     StartCoroutine(AutoTick()); 
    } 

    void Update() { 
     gpsDisplay.text = GetGoldPerSec() + " gold/sec"; 
    } 

    public int GetGoldPerSec(){ 
     int tick = 0; 
     foreach (ItemManager item in items) { 
      tick += item.count * item.tickValue; 

     } 
     return tick; 
    } 

    public void AutoGoldPerSec() { 
     click.gold += GetGoldPerSec(); 
    } 

    IEnumerator AutoTick() { 
     while (true) { 
      AutoGoldPerSec(); 
      yield return new WaitForSeconds(1); 
     } 
    } 
} 

回答

3

的问题是在

public UnityEngine.UI.Text gpsDisplay(); 

那是一个方法声明,但方法内部没有代码。

从上下文中我们不清楚实际应该是什么。如果它是一个方法,你可以在这个类实现它,就像

public UnityEngine.UI.Text gpsDisplay() 
{ 
    return <something useful>; 
} 

也许这应该是一个方法,你想实现它的一个子类,然后将类标记为抽象:

public abstract class GoldPerSec : MonoBehaviour 

也许这应该是一个字段,然后使用

public UnityEngine.UI.Text gpsDisplay; 

没有括号。

+0

删除()使其成为一个成员变量或添加一个代码块{}以使其成为一种方法。 – Grisgram

+0

@Grisgram:我正在补充那个。谢谢。 –

+0

我不是故意将gpsDisplay设置为一个函数,所以这就是导致问题的原因。非常感谢! – landonbradlee

相关问题