C# 为什么我不能使用单打游戏中的特定平局覆盖方法?

C# 为什么我不能使用单打游戏中的特定平局覆盖方法?,c#,visual-studio,parameters,draw,monogame,C#,Visual Studio,Parameters,Draw,Monogame,我正在VisualStudio2019中使用Monogames框架 当我尝试使用SpriteBatch.Draw时,我可以从中选择8种不同的覆盖。当我为覆盖函数输入了正确的参数时,我会收到错误消息,因为我试图使用另一个具有不同参数的覆盖,我不明白为什么 喜欢下面这张照片吗 在这里,我正确地输入了参数,但是我得到了这样的错误消息 为什么VisualStudio或MonoGame框架不理解我想要使用的覆盖函数 关于这一点的另一个注意事项是,我可以使用带有大量参数的覆盖函数,但我不想使用它,因为它

我正在VisualStudio2019中使用Monogames框架

当我尝试使用SpriteBatch.Draw时,我可以从中选择8种不同的覆盖。当我为覆盖函数输入了正确的参数时,我会收到错误消息,因为我试图使用另一个具有不同参数的覆盖,我不明白为什么

喜欢下面这张照片吗

在这里,我正确地输入了参数,但是我得到了这样的错误消息

为什么VisualStudio或MonoGame框架不理解我想要使用的覆盖函数

关于这一点的另一个注意事项是,我可以使用带有大量参数的覆盖函数,但我不想使用它,因为它会对性能造成更大的压力。它也是奥贝雷特

当我为覆盖函数输入了正确的参数时,我会收到错误消息,因为我试图使用另一个具有不同参数的覆盖,我不明白为什么

几乎可以肯定,你只是弄错了一种类型。Draw方法有很多重载,我能理解为什么这是一个如此容易犯的错误。我自己做了很多次

找出错误的一种方法是在方法调用的正上方声明每个参数的类型,这样您就可以清楚地看到发生了什么

Texture2D texture = _image;
Rectangle destinationRectangle = dRectangle;
Rectangle? sourceRectangle  = null;
Color color = Color.White;
float rotation = Orientation;
Vector2 origin = Vector2.Zero;
SpriteEffects effects = SpriteEffects.None;
float layerDepth = 0;

spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, color, rotation, origin, effects, layerDepth);
一旦一切正常,您当然可以重构代码以内联参数或其他内容

关于这一点的另一个注意事项是,我可以使用带有大量参数的覆盖函数,但我不想使用它,因为它会对性能造成更大的压力

此外,要小心过早地对性能进行假设。除非您实际测量了这两种方法并发现了性能问题,否则没有理由相信任何绘制方法都会对性能产生显著影响

当我为覆盖函数输入了正确的参数时,我会收到错误消息,因为我试图使用另一个具有不同参数的覆盖,我不明白为什么

几乎可以肯定,你只是弄错了一种类型。Draw方法有很多重载,我能理解为什么这是一个如此容易犯的错误。我自己做了很多次

找出错误的一种方法是在方法调用的正上方声明每个参数的类型,这样您就可以清楚地看到发生了什么

Texture2D texture = _image;
Rectangle destinationRectangle = dRectangle;
Rectangle? sourceRectangle  = null;
Color color = Color.White;
float rotation = Orientation;
Vector2 origin = Vector2.Zero;
SpriteEffects effects = SpriteEffects.None;
float layerDepth = 0;

spriteBatch.Draw(texture, destinationRectangle, sourceRectangle, color, rotation, origin, effects, layerDepth);
一旦一切正常,您当然可以重构代码以内联参数或其他内容

关于这一点的另一个注意事项是,我可以使用带有大量参数的覆盖函数,但我不想使用它,因为它会对性能造成更大的压力


此外,要小心过早地对性能进行假设。除非您实际测量了这两种方法并发现了性能问题,否则没有理由相信任何绘制方法都会对性能产生显著影响

我们可能需要更多的代码来回答您。这看起来很好,但可能您的一个参数类型错误,因此无法使用我们提供的信息来帮助您。请将您的代码作为文本而不是图像发布,尤其是当图像剪切相关信息时。我们可能需要更多的代码来回答您的问题。这看起来很好,但可能您的一个参数类型错误,无法使用我们提供的信息来帮助您。请以文本而不是图像的形式发布代码,特别是当图像剪切相关信息时。就像您所说的那样。在某个地方,我一定错过了参数类型,即使我尝试了多次。就像你说的。在某个地方,我一定错过了参数类型,即使我尝试了多次。