0

我编写了 Levels 类来存储每个级别的敌人数量。Levels 类在开始一个新的关卡之前被调用一次。例如,如果玩家在游戏菜单中选择 1 级,则应绘制 5 个僵尸、3 个蜘蛛和 1 个狼人(在另一个类中)。但是目前,我总是收到此错误消息:方法必须具有返回类型。
怎么了 ?

public class Levels
{
    int currentLevel, Zombies, Spiders, Werewolfs;

    public Levels(int Level)
    {
        this.currentLevel = Level;
    }

     public Level1()
    {
        Zombies = 5;
        Spiders = 3;
        Werewolfs = 1;
    }

     public Level2()
    {
        Zombies = 8;
        Spiders = 4;
        Werewolfs = 2;
    }

     public Level3()
    {
        Zombies = 12;
        Spiders = 4;
        Werewolfs = 3;
    }

    public void Load(ContentManager content)
    {
     if (currentLevel == 1)
       Level1();

     if (currentLevel == 2)
       Level2();

     if (currentLevel == 3)
       Level3();   
    }
}
4

2 回答 2

5

您的 Level1()、Level2() 等必须有返回类型,如 void。它们是方法而不是构造函数。

于 2012-10-21T21:19:03.687 回答
2

你没有从你的函数中返回任何东西。请注意您的Load()函数,它被声明为public void这意味着该函数没有返回任何内容或“void”。如果您不打算从这些函数中返回任何内容,请void在它们的声明中包含。如果是,请执行以下操作:

public int Level1()
{
    int Zombies = 5;
    return Zombies;
}

注意:函数只能返回一个对象。

我不知道正确的 c# 语法,所以这可能是错误的,但概念是一样的。

如果您不想从这些函数中返回某些内容,请将它们声明为void,为您的“敌人”设置全局变量,然后使用方法(函数)来更改全局变量。

于 2012-10-21T21:25:14.240 回答