Visual Studio说"方法必须有一个返回类型"

时间:2014-03-30 03:30:55

标签: c# methods spritebatch

它说

  

“方法必须具有返回类型”

每当我尝试调试它时。

我不知道如何解决这个课程

这是c#编码的2D游戏的玩家类

public class player
{
    public float moveSpeed;
    public Vector2 position;
    public Texture2D texture;

    //default constructer
    public Player(Texture2D tex, Vector2 startPos)
    {
        position  = startPos;
        texture   = tex;
        moveSpeed = 5.0f;
    }
    public void Update(GameTime gameTime)
    {
        //------------------------------------------
        //check for keyboard input(keyboard IF statements)

    }
    public void Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.Draw(texture, position, Color.White);
    }
}

6 个答案:

答案 0 :(得分:17)

您的班级是player,但构造函数是Player,因为它们不同,所以期望Player是方法而不是构造函数

将班级名称更改为Player,您将会很好

答案 1 :(得分:8)

您的班级名称为player,小写。当编译器找到类Player(大写)的构造函数时,它认为它是一个名为Player的方法,没有指定返回类型。

只需将您的类重命名为大写Player即可。 C#区分大小写,因此playerPlayer是两个不同的东西。

答案 2 :(得分:4)

你的类是小写的玩家,你的构造函数是大写的。班级名称&构造函数应始终相同且区分大小写:)

答案 3 :(得分:2)

我猜这是一个错字。你的类名是播放器是小写的,你的构造函数有一个大写字母,所以它不被视为一个cinstructor,而是一个缺少void关键字的方法。

编辑:对不起,se4ems是一个重复的答案,似乎很多人几乎在同一时刻回答;)

答案 4 :(得分:0)

您的班级名称是"播放器",但构造函数名称是"播放器" (p的大写)。因此构造函数被视为没有返回类型的方法。将其重命名为"播放器"它会起作用:))

答案 5 :(得分:0)

如果无法将小写字母更改为大写字母,请使其

public void Player