【发布时间】:2016-04-29 06:41:18
【问题描述】:
我正在使用 Monogame 制作 2D 游戏。我的角色可以正常加载到游戏中,但是当用户按下 T 键时,我希望我的角色再次重新加载(就像角色已经传送一样。)
我已经在LoadContent() 函数中加载了播放器内容,如下所示:
player.Load(Content);
在Draw() 函数中,我尝试在按下“T”时再次重新加载角色:
if (Keyboard.GetState().IsKeyDown(Keys.T))
{
player.Draw(spriteBatch);
}
和/或,
if (Keyboard.GetState().IsKeyDown(Keys.T))
{
player.Load(Content);
}
但这些似乎都不起作用。
我的问题是,再次成功加载角色的正确方法是什么?我在哪里放置这个 if 语句?
更新:
这是我在播放器类中使用的player.Load() 方法:
public void Load (ContentManager Content)
{
texture = Content.Load<Texture2D>("danPlayer");
}
【问题讨论】:
-
你能贴出你的 player.Load() 方法的代码吗?
-
我已经更新了显示我的 player.Load() 方法的问题,非常简单。
-
对,所以所做的就是从文件中加载你的纹理。唯一一次你会再次调用它是纹理发生变化或者你以某种方式丢失了对它的引用。不是为了改变角色的位置。