Search Results

Search found 1 results on 1 pages for 'dialock'.

Page 1/1 | 1 

  • Create a Texture2D from larger image

    - by Dialock
    I am having trouble with the basic logic of this solution: Xna: Splitting one large texture into an array of smaller textures in respect to my specific problem (specifically, I'm looking at the second answer.) How can I use my source rectangle that I already use for drawing to create a new Texture2D? spriteBatch.Draw(CurrentMap.CollisionSet, currentMap.CellScreenRectangle(x, y), CurrentMap.TileSourceRectangle(currentMap.MapCells[x, y].TileDepths[4]), Color.FromNonPremultiplied(0,0,0, 45), 0.0f, Vector2.Zero, SpriteEffects.None, 0.91f); I know I want a method that I started so: //In Update Method of say the player's character. Texture2D CollisionTexture = ExtractTexture(MapManager.CurrentMap.CollisionSet, MapManager.TileWidth, MapManager.TileHeight); // In MapManager Class who knows everything about tiles that make up a level. public Texture2D ExtractTexture(Texture2D original, int partWidth, int partheight, MapTile mapCell) { var dataPerPart = partWidth * partheight; Color[] originalPixelData = new Color[original.Width * original.Height]; original.GetData<Color>(originalPixelData); Color[] newTextureData = new Color[dataPerPart]; original.GetData<Color>(0, CurrentMap.TileSourceRectangle(mapCell.TileDepths[4]), originalPixelData, 0, originalPixelData.Count()); Texture2D outTexture = new Texture2D(original.GraphicsDevice, partWidth, partheight); } I think the problem is I'm just not understanding the overload of Texture2D.GetData< Part of my concern is creating an array of the whole texture in the first place. Can I target the original texture and create an array of colors for copying based on what I already get from the method TileSourceRecatangle(int)?

    Read the article

1