我环顾四周......我找不到任何可以帮助我的东西。 这是我正在寻找的结果:
我正在使用XNA Game Studio 4.0,我想创建自己的库,以便在制作游戏时使用,所以我不必重写以前每次想要制作的代码。新游戏。所以,我想在一个库中调用作为参考。我的图书馆:
using System;
using System.Collections.Generic;
using System.Linq;
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 iRaaptorLibraryXNA
{
public class XNALibrary
{
public static void consolePrint(string text)
{
var timeStamp = System.DateTime.Now.ToString(@"hh:mm:ss tt");
Console.WriteLine("[" + timeStamp + "] CONSOLE: " + text);
}
}
}
我在调试时经常使用consolePrint功能。 例如,如果我想打印一行以显示成功,我希望能够输入
consolePrint("SUCCESS!")
并将其打印到控制台。我不想重复输入:
XNALibraryXNA.consolePrint("SUCCESS!");
我想把它简化为
consolePrint("SUCCESS!");
这是我的游戏代码:
using iRaaptorLibraryXNA;
namespace xnaFun
{
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize()
XNALibrary.consolePrint("Initialized!");
}
protected override void LoadContent()
{
iRaaptorLibraryXNA.consolePrint("Loading content!"); // DOES PRINT TO CONSOLE
spriteBatch = new SpriteBatch(GraphicsDevice);
}
等......
我希望我收集到足够的信息。 〜iRaaptor
TL; DR我想缩短
XMALibrary.consolePrint("text");
到
consolePrint("text");
答案 0 :(得分:0)
将此类添加到您的库中:
public class BaseGame : Microsoft.Xna.Framework.Game
{
protected void consolePrint(string message)
{
XNALibrary.consolePrint("Initialized!");
}
}
然后您的游戏类可以从basegame继承并使用consolePrint
方法:
public class MyGame : BaseGame
{
protected override void Initialize()
{
base.Initialize()
consolePrint("Initialized!");
}
}