我正在使用 Unity 和 C# 学习俄罗斯方块游戏教程,但 运行 出错了

I'm following a tetris game tutorial with Unity and C# and running into an error

我正在按照教程在 Unity 中制作我的第一款游戏。我需要一些关于 spawner c# 代码的帮助! link教程如下。

http://noobtuts.com/unity/2d-tetris-game

代码如下:

using UnityEngine;
using System.Collections;

public class Spawner : MonoBehaviour {

    // Groups
    public GameObject[] groups;
}
public void spawnNext() {
// Random Index
int i = Random.Range(0, groups.Length);

// Spawn Group at current Position
Instantiate(groups[i],
            transform.position,
                Quaternion.identity);
}
void Start() {
    // Spawn initial Group
    spawnNext();
}

我在 "public void spawnNext()" 行中看到一个涉及空白的错误。

您的 spawn next 函数上方有一个右花括号。这意味着您刚刚关闭了生成器 class。如果您将它移到最后并实际将所有这些内容包含在 class:

中,这就是它的样子
using UnityEngine;
using System.Collections;

public class Spawner : MonoBehaviour {

    // Groups
    public GameObject[] groups;

    public void spawnNext() {
    // Random Index
    int i = Random.Range(0, groups.Length);

    // Spawn Group at current Position
    Instantiate(groups[i],
            transform.position,
                Quaternion.identity);
    }
    void Start() {
        // Spawn initial Group
        spawnNext();
    }
}

试试看。

我怀疑它在抱怨 "void" 因为你刚刚关闭了 class 并且它试图将你的方法定义解析为新的 class (C# 不允许classes 之外的浮动方法)。 Void 不是 classes 的有效关键字。