本文整理汇总了C#中TileMap.SetRawTile方法的典型用法代码示例。如果您正苦于以下问题:C# TileMap.SetRawTile方法的具体用法?C# TileMap.SetRawTile怎么用?C# TileMap.SetRawTile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TileMap
的用法示例。
在下文中一共展示了TileMap.SetRawTile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadJson
public static TileMap LoadJson( string _fileName )
{
string jsonString = System.IO.File.ReadAllText( _fileName );
Dictionary<string,object> json = (Dictionary<string,object>)MiniJSON.Json.Deserialize( jsonString );
// Load tile bank
List<object> tilesetsJson = (List<object>)json[ "tilesets" ];
Dictionary<string,object> tilesetJson = (Dictionary<string,object>)tilesetsJson[ 0 ];
string imageFileName = (string)tilesetJson[ "image" ];
string imageFullPath = System.IO.Path.GetDirectoryName( _fileName ) + System.IO.Path.DirectorySeparatorChar + imageFileName;
//LoadBMP( imageFullPath );
PalettizedImageConfig imageConfig = new PalettizedImageConfig( imageFullPath + ".config" );
PalettizedImage imageData = PalettizedImage.LoadImage( imageFullPath, imageConfig );
TileBank tileBank = null;
if( imageData != null )
{
//
imageConfig.SetImage( imageData );
bool optimizeBank = (imageConfig.m_importAsSprite==false); // Optimize bank when we're not loading the image as a sprite (i.e. optimize when we're loading as a tile bank)
tileBank = new TileBank( imageData, optimizeBank );
}
// Create map texture
int map_tiles_w = ((int)(long)json[ "width" ]);
int map_tiles_h = ((int)(long)json[ "height" ]);
int map_pixels_w = map_tiles_w * 8;
int map_pixels_h = map_tiles_h * 8;
TileMap ret = new TileMap( map_tiles_w, map_tiles_h );
// Find each layer
List<object> layersJson = (List<object>)json[ "layers" ];
Dictionary<string,object> layerJson = (Dictionary<string,object>)layersJson[ 0 ];
List<object> layerData = (List<object>)layerJson[ "data" ];
int tile_x, tile_y;
for( tile_y=0; tile_y<map_tiles_h; tile_y++ )
{
for( tile_x=0; tile_x<map_tiles_w; tile_x++ )
{
int i = tile_y*map_tiles_w + tile_x;
int tile_id = (int)(long)layerData[i];
tile_id--;
TileInstance tileInstance = tileBank.m_allTileInstances[ tile_id ];
//
ret.SetRawTile( tile_x, tile_y, tile_id );
ret.SetTile( tile_x, tile_y, tileInstance );
}
}
return ret;
}