Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected override void Update()
- {
- if(tileChunk == null)
- {
- tileChunk = cutTile(tileSet, false);
- tileIsland = tileChunk[0];
- tileQuad = new Texture2D[5,4];
- for(int k = 1; k < tileChunk.Length; k++)
- {
- for (int l = 0; l < (tileChunk[k].Width + tileChunk[k].Height) / 16; l++)
- {
- tileQuad[k-1, l] = cutTile(tileChunk[k],true)[l];
- }
- }
- }
- }
- Color[] getImageData(Color[] colorData, int width, Rectangle rectangle)
- {
- var color = new Color[rectangle.Width * rectangle.Height];
- for (int x = 0; x < rectangle.Width; x++)
- for (int y = 0; y < rectangle.Height; y++)
- color[x + y * rectangle.Width] = colorData[x + rectangle.X + (y + rectangle.Y) * width];
- return color;
- }
- public Texture2D[] cutTile(Texture2D Tex, bool sizeIs16 = true)
- {
- int size;
- if (sizeIs16) { size = 16; } else { size = 32; }
- Texture2D[] _temp_texture = new Texture2D[(Tex.Width/size) * (Tex.Height/size)];
- Color[] imageData = new Color[Tex.Width * Tex.Height];
- Tex.GetData<Color>(imageData);
- var k = 0;
- for (int i = 0; i < (Tex.Height / size); i++)
- {
- for (int j = 0; j < (Tex.Width / size); j++)
- {
- var startRect = new Rectangle(j * size, i * size, size, size);
- var colorPiece = getImageData(imageData, Tex.Width, startRect);
- var subTexture = new Texture2D(GraphicsDevice, size, size);
- subTexture.SetData<Color>(colorPiece);
- _temp_texture[k] = subTexture;
- k++;
- }
- }
- return _temp_texture;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement