我一直在xna中为我的游戏添加了一堆纹理,所以我决定创建一个单独的类来加载和绘制纹理。
这是我到目前为止所拥有的
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
namespace Trolls_and_Towers
{
class Textures
{
//Texture loading
//Buttons
public static Texture2D button;
public static void Load()
{
Microsoft.Xna.Framework.Game game = new Microsoft.Xna.Framework.Game();
button = game.Content.Load<Texture2D>("button");
}
public static void Draw()
{
Game1.spriteBatch.Draw(button, new Rectangle(20, Game1.screenHeight - 70, 100, 50), Color.White);
}
}
}
问题是它无法找到按钮纹理,我知道它拼写错误,因为当我在我的游戏的Load方法中加载它时,它可以运行
答案 0 :(得分:0)
每当你创建一个新的XNA项目时,它都在构造函数中:
public Game1()
{
_graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
或者您可以执行以下操作:
class Game
{
}
class TextureManager
{
public TextureManager(Game game)
{
}
}
注意,https://gamedev.stackexchange.com/将是一个更好的地方,你可以提出与游戏开发相关的问题。
答案 1 :(得分:-1)
您还可以将game1-loadcontent-void ans gibe content-Manager中的load-method作为参数调用。然后你也可以在另一个类中调用Content.Loaf。