public SpriteSheet MultiLoad(string imageResourceFormat, int numSheets) { SpriteSheet result = new SpriteSheet(); for (int i = 0; i < numSheets; i++) { string imageResource = string.Format(imageResourceFormat, i); SpriteSheet tmp = Load(imageResource); result.Add(tmp); } return result; }
public SpriteSheet MultiLoad(string imageResourceFormat, int numSheets) { SpriteSheet result = new SpriteSheet(); for (int i = 0; i < numSheets; i++) { string imageResource = string.Format(imageResourceFormat, i); SpriteSheet tmp = Load(imageResource); result.Add(tmp); } return(result); }
public SpriteSheet Load(string imageResource, Texture2D test) { var imageFile = Path.Combine(contentManager.RootDirectory, imageResource); //var dataFile = Path.ChangeExtension(imageFile, "txt"); var dataFile = Path.ChangeExtension(imageResource, "txt"); //FileStream fileStream = new FileStream(imageResource, FileMode.Open); //var texture = Texture2D.FromStream(graphicsDevice, fileStream); var texture = test; //fileStream.Dispose(); var dataFileLines = ReadDataFile(dataFile); var sheet = new SpriteSheet(); foreach ( var cols in from row in dataFileLines where !string.IsNullOrEmpty(row) && !row.StartsWith("#") select row.Split(';')) { if (cols.Length != 10) { throw new InvalidDataException("Incorrect format data in spritesheet data file"); } var isRotated = int.Parse(cols [1]) == 1; var name = cols[0]; var sourceRectangle = new Rectangle( int.Parse(cols[2]), int.Parse(cols[3]), int.Parse(cols[4]), int.Parse(cols[5])); var size = new Vector2( int.Parse(cols[6]), int.Parse(cols[7])); var pivotPoint = new Vector2( float.Parse(cols[8], CultureInfo.InvariantCulture), float.Parse(cols[9], CultureInfo.InvariantCulture)); var sprite = new SpriteFrame(texture, sourceRectangle, size, pivotPoint, isRotated); sheet.Add(name, sprite); } return(sheet); }
public SpriteSheet Load(string imageResource) { var texture = _contentManager.Load <Texture2D>(imageResource); var dataFile = Path.Combine(_contentManager.RootDirectory, Path.ChangeExtension(imageResource, "txt")); var dataFileLines = ReadDataFile(dataFile); var sheet = new SpriteSheet(); foreach ( var cols in from row in dataFileLines where !string.IsNullOrEmpty(row) && !row.StartsWith("#") select row.Split(';')) { if (cols.Length != 10) { throw new InvalidDataException("Incorrect format data in spritesheet data file"); } var isRotated = int.Parse(cols[1]) == 1; var name = cols[0]; var rectangle = new Rectangle( int.Parse(cols[2]), int.Parse(cols[3]), int.Parse(cols[4]), int.Parse(cols[5])); var size = new Vector2( int.Parse(cols[6]), int.Parse(cols[7])); var pivotPoint = new Vector2( float.Parse(cols[8]), float.Parse(cols[9])); var sprite = new SpriteFrame(texture, rectangle, size, pivotPoint, isRotated); sheet.Add(name, sprite); } return(sheet); }
public SpriteSheet Load(string imageResource) { var texture = this.contentManager.Load<Texture2D>(imageResource); var dataFile = Path.Combine( this.contentManager.RootDirectory, Path.ChangeExtension(imageResource, "txt")); var dataFileLines = this.ReadDataFile(dataFile); var sheet = new SpriteSheet(); CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone(); ci.NumberFormat.CurrencyDecimalSeparator = "."; foreach ( var cols in from row in dataFileLines where !string.IsNullOrEmpty(row) && !row.StartsWith("#") select row.Split(';')) { if (cols.Length != 10) { throw new InvalidDataException("Incorrect format data in spritesheet data file"); } var isRotated = int.Parse (cols [1]) == 1; var name = cols[0]; var sourceRectangle = new Rectangle( int.Parse(cols[2]), int.Parse(cols[3]), int.Parse(cols[4]), int.Parse(cols[5])); var size = new Vector2( int.Parse(cols[6]), int.Parse(cols[7])); var pivotPoint = new Vector2( float.Parse(cols[8], NumberStyles.Any, ci), float.Parse(cols[9], NumberStyles.Any, ci)); var sprite = new SpriteFrame(texture, sourceRectangle, size, pivotPoint, isRotated); sheet.Add(name, sprite); } return sheet; }