本文整理汇总了C#中TileMap.AddLayer方法的典型用法代码示例。如果您正苦于以下问题:C# TileMap.AddLayer方法的具体用法?C# TileMap.AddLayer怎么用?C# TileMap.AddLayer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileMap
的用法示例。
在下文中一共展示了TileMap.AddLayer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
protected override void Initialize()
{
UITexture = Content.Load<Texture2D> ("TDUserInterface.png", TextureConfiguration.Nearest);
SpriteSheet = new SpriteSheet2D (Content.Load<Texture2D> ("TDSheet.png", TextureConfiguration.Nearest), 16, 16);
TileMap = new TileMap (Vector2.Zero, 26 / 2, 18 / 2, new Vector2 (16, 16), 4);
TileMap.AddLayer ("GrassLayer", SpriteSheet);
for (int y = 0; y < TileMap.Height; y++)
for (int x = 0; x < TileMap.Width; x++)
TileMap.SetTile ("GrassLayer", x, y, new Tile { TileId = SpriteSheet.GetTileId(1, 1) });
TileMap.AddLayer ("Track", SpriteSheet);
var tiles = new int[][] {
new int[] { },
new int[] { 20, 1, 1, 2 },
new int[] { -1, -1, -1, 32, 1, 2 },
new int[] { 0, 1, 2, -1, -1, 16, -1, 16 },
new int[] { 16, -1, 16, -1, -1, 18, -1, 16 },
new int[] { 16, -1, 32, 1, 1, 34, -1, 16 },
new int[] { 16, -1, -1, -1, -1, -1, -1, 16 },
new int[] { 32, 1, 1, 1, 1, 1, 1, 34 }
};
for (int y = 0; y < tiles.Length; y++)
for (int x = 0; x < tiles[y].Length; x++)
TileMap.SetTile ("Track", x, y, new Tile { TileId = tiles[y][x] });
Font = Content.Load<Font> ("durselinvenice2015.ttf", 15f);
base.Initialize ();
}
示例2: openLevelToolStripMenuItem_Click
void openLevelToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofDialog = new OpenFileDialog();
ofDialog.Filter = "Level Files (*.xml)|*.xml";
ofDialog.CheckFileExists = true;
ofDialog.CheckPathExists = true;
DialogResult result = ofDialog.ShowDialog();
if (result != DialogResult.OK)
return;
string path = Path.GetDirectoryName(ofDialog.FileName);
LevelData newLevel = null;
MapData mapData = null;
try
{
newLevel = XnaSerializer.Deserialize<LevelData>(ofDialog.FileName);
mapData = XnaSerializer.Deserialize<MapData>(path + @"\Maps\" + newLevel.MapName + ".xml");
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Error reading level");
return;
}
tileSetImages.Clear();
tileSetData.Clear();
tileSets.Clear();
layers.Clear();
lbTileset.Items.Clear();
clbLayers.Items.Clear();
levelData = newLevel;
foreach (TilesetData data in mapData.Tilesets)
{
Texture2D texture = null;
tileSetData.Add(data);
lbTileset.Items.Add(data.TilesetName);
GDIImage image = (GDIImage)GDIBitmap.FromFile(data.TilesetImageName);
tileSetImages.Add(image);
using (Stream stream = new FileStream(data.TilesetImageName, FileMode.Open, FileAccess.Read))
{
texture = Texture2D.FromStream(GraphicsDevice, stream);
tileSets.Add(
new Tileset(
texture,
data.TilesWide,
data.TilesHigh,
data.TileWidthInPixels,
data.TileHeightInPixels));
}
}
foreach (MapLayerData data in mapData.Layers)
{
clbLayers.Items.Add(data.MapLayerName, true);
layers.Add(MapLayer.FromMapLayerData(data));
}
lbTileset.SelectedIndex = 0;
clbLayers.SelectedIndex = 0;
nudCurrentTile.Value = 0;
map = new TileMap(tileSets[0], (MapLayer)layers[0]);
for (int i = 1; i < tileSets.Count; i++)
map.AddTileset(tileSets[i]);
for (int i = 1; i < layers.Count; i++)
map.AddLayer(layers[i]);
tilesetToolStripMenuItem.Enabled = true;
mapLayerToolStripMenuItem.Enabled = true;
charactersToolStripMenuItem.Enabled = true;
chestsToolStripMenuItem.Enabled = true;
keysToolStripMenuItem.Enabled = true;
}
示例3: newLayerToolStripMenuItem_Click
void newLayerToolStripMenuItem_Click(object sender, EventArgs e)
{
using (FormNewLayer frmNewLayer = new FormNewLayer(levelData.MapWidth, levelData.MapHeight))
{
frmNewLayer.ShowDialog();
if (frmNewLayer.OKPressed)
{
MapLayerData data = frmNewLayer.MapLayerData;
if (clbLayers.Items.Contains(data.MapLayerName))
{
MessageBox.Show("Layer with name " + data.MapLayerName + " exists.", "Existing layer");
return;
}
MapLayer layer = MapLayer.FromMapLayerData(data);
clbLayers.Items.Add(data.MapLayerName, true);
clbLayers.SelectedIndex = clbLayers.Items.Count - 1;
layers.Add(layer);
if (map == null)
{
map = new TileMap(tileSets[0], (MapLayer)layers[0]);
for (int i = 0; i < tileSets.Count; i++)
map.AddTileset(tileSets[1]);
for (int i = 1; i < layers.Count; i++)
map.AddLayer(layers[1]);
}
charactersToolStripMenuItem.Enabled = true;
chestsToolStripMenuItem.Enabled = true;
keysToolStripMenuItem.Enabled = true;
}
}
}