-1

我正在 MonoGame 中绘制一个 Sprite,我正在尝试使用 Draw() 方法和允许 SpriteEffect 作为参数传递的重载,但我得到一个红色下划线,它说:

The best overloaded method match for 'Microsoft.Xna.Framework.Graphics.SpriteBatch.Draw(Microsoft.Xna.Framework.Graphics.Texture2D, Microsoft.Xna.Framework.Rectangle, Microsoft.Xna.Framework.Rectangle?, Microsoft.Xna.Framework.Color, float, Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.Graphics.SpriteEffects, float)' has some invalid arguments

现在,我有理由相信控制台在撒谎。其中一个原因是它没有任何翻转的无效参数。

这是我的代码的样子:

spriteBatch.Draw(Texture, destinationRectangle, null, Color.White, 0f, Vector2.Zero, effect, 1f);

Texture是我在构造函数中初始化的本地 Texture2D 变量。destinationRectangle是一个作为参数传递给我自己的 Draw() 函数的 Rectangle。null是不言自明的。这也适用于接下来的三个论点。effect只是简单地作为参数传递,最后 1f 显然是 1f。

我知道我在这里做错了什么,我只是不明白我做错了什么。有人可以帮忙吗?

4

1 回答 1

0

您是否使用“纹理”一词作为变量名?Texture 是一个抽象类,类似于 Stream。这意味着编译器会看到它并认为您指的是“纹理”类型,而不是变量。尝试将纹理名称更改为其他名称。'myTexture' 可以用于测试目的。

于 2014-02-03T19:31:48.453 回答