我在这个 Monogame class 中做错了什么?
What am I doing wrong in this Monogame class?
我在这个class中做错了什么?我正在使用 monogame 和 C#,但我的对象不会在程序中呈现。
class Player : Game
{
Texture2D PlayerSprite;
Vector2 PlayerPosition;
public Player()
{
Content.RootDirectory = "Content";
PlayerSprite = Content.Load<Texture2D>("spr_Player");
PlayerPosition = Vector2.Zero;
}
public void Update()
{
}
public void Draw(SpriteBatch SpriteBatch)
{
SpriteBatch.Begin();
SpriteBatch.Draw(PlayerSprite,PlayerPosition, new Rectangle(0, 0, 32,32), Color.White);
SpriteBatch.End();
}
}
- Load、Update 和 Draw 方法属于继承的 Game class 并被其覆盖。
- 您也需要启动 SpriteBacth 对象。
- GraphicsDevice 对象已存在于游戏主程序中 class。
试试这个:
class Player : Game
{
Texture2D PlayerSprite;
Vector2 PlayerPosition;
SpriteBatch spriteBatch;
public Player()
{
Content.RootDirectory = "Content";
PlayerSprite = Content.Load<Texture2D>("spr_Player");
PlayerPosition = Vector2.Zero;
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
}
protected override void Update(GameTime gameTime)
{
}
protected override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
spriteBatch.Draw(PlayerSprite,PlayerPosition, new Rectangle(0, 0, 32,32), Color.White);
spriteBatch.End();
}
}
我在这个class中做错了什么?我正在使用 monogame 和 C#,但我的对象不会在程序中呈现。
class Player : Game
{
Texture2D PlayerSprite;
Vector2 PlayerPosition;
public Player()
{
Content.RootDirectory = "Content";
PlayerSprite = Content.Load<Texture2D>("spr_Player");
PlayerPosition = Vector2.Zero;
}
public void Update()
{
}
public void Draw(SpriteBatch SpriteBatch)
{
SpriteBatch.Begin();
SpriteBatch.Draw(PlayerSprite,PlayerPosition, new Rectangle(0, 0, 32,32), Color.White);
SpriteBatch.End();
}
}
- Load、Update 和 Draw 方法属于继承的 Game class 并被其覆盖。
- 您也需要启动 SpriteBacth 对象。
- GraphicsDevice 对象已存在于游戏主程序中 class。
试试这个:
class Player : Game
{
Texture2D PlayerSprite;
Vector2 PlayerPosition;
SpriteBatch spriteBatch;
public Player()
{
Content.RootDirectory = "Content";
PlayerSprite = Content.Load<Texture2D>("spr_Player");
PlayerPosition = Vector2.Zero;
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
}
protected override void Update(GameTime gameTime)
{
}
protected override void Draw(GameTime gameTime)
{
spriteBatch.Begin();
spriteBatch.Draw(PlayerSprite,PlayerPosition, new Rectangle(0, 0, 32,32), Color.White);
spriteBatch.End();
}
}