当真的没有任何无效参数时,MonoGame SpriteBatch.Draw()无效参数?

时间:2014-02-03 19:23:07

标签: c# arguments draw monogame spritebatch

我正在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变量,它在contstructor中初始化。 destinationRectangle是一个Rectangle,它作为参数传递给我自己的Draw()函数。 null非常明显。这也适用于接下来的三个参数。 effect只是作为参数传递,最后1f显然是1f。

我知道我在这里做错了什么,我无法理解是什么我做错了。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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