我有一个项目,里面有一个类代码创建一个文本文件,每次我添加或删除地图变量map,map1时我都会使用这个项目更新文本文件....但其余代码保持不变原样。
我想从文本文件创建一个cs文件,这样我就可以将它添加到我的其他项目中并将其用作类。 就像我正在点击我的项目名称添加>类,但不创建新类,并从文本文件中复制代码,但使用文本文件作为类。
这是现在的文本文件内容:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace TowerDefense
{
class Level
{
int[,] map = new int[,]
{
{1,1,1,0,0,0,0,0,},
{0,0,1,0,0,0,0,0,},
{0,0,1,1,0,0,1,1,},
{0,0,0,1,0,0,1,0,},
{0,0,1,1,0,0,1,0,},
{0,0,1,0,0,0,1,0,},
{0,0,1,1,1,0,1,0,},
{0,0,0,0,1,1,1,0,},
};
int[,] map1 = new int[,]
{
{0,0,0,1,1,1,1,0,},
{0,0,0,1,0,0,1,0,},
{0,0,0,1,1,0,1,0,},
{1,1,0,0,1,0,1,0,},
{0,1,0,0,1,0,1,0,},
{0,1,1,1,1,0,1,0,},
{0,0,0,1,1,0,1,1,},
{0,0,0,0,0,0,0,0,},
};
private List<Texture2D> tileTextures = new List<Texture2D>();
public void AddTexture(Texture2D texture)
{
tileTextures.Add(texture);
}
public int Width
{
get { return map.GetLength(1); }
}
public int Height
{
get { return map.GetLength(0); }
}
public void Draw(SpriteBatch batch)
{
for (int x = 0; x < Width; x++)
{
for (int y = 0; y < Height; y++)
{
int textureIndex = map[y, x];
if (textureIndex == -1)
continue;
Texture2D texture = tileTextures[textureIndex];
batch.Draw(texture, new Rectangle(
x * 32, y * 32, 32, 32), Color.White);
}
}
}
}
}
答案 0 :(得分:0)
使用.cs扩展名重命名文件。这由解决方案自动解释为C#源文件。
以编程方式编辑.csproj文件,将文件添加到项目中。您可以在此处找到有关如何执行此操作的详细信息:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=adding%20file%20to%20.csproj&qscrl=1
如果需要使用CSharpCodeProvider,请编译项目。