Note that there are some explanatory texts on larger screens.

plurals
  1. POTile System and Tile Drawing
    primarykey
    data
    text
    <p>I'm triyng to make an Automated type tile system to draw my int[,] tileMap according to my Texture Atlas but when i run the code i get the entire thing sideways and the textures don't appear, the only way i know it's sideways is because the "Color color" for drawing the textures are different then the ClearScreen's color.</p> <h1>Tile Sorting Class:</h1> <pre><code> public Texture2D Texture { get; set; } public int Rows { get; set; } public int Columns { get; set; } public int totalTiles; public int _tileWidth; public int _tileHeight; public int[] tiles; public int[,] tileMap = new int[,] { {0,0,0,0,0,0,2,0,0,0,}, {0,0,0,0,0,2,2,0,0,0,}, {0,0,0,0,0,2,0,0,0,0,}, {0,0,0,0,0,2,0,0,0,0,}, {0,0,0,2,2,2,0,0,0,0,}, {0,0,0,2,0,0,0,0,0,0,}, {0,0,0,2,0,0,0,0,0,0,}, {0,0,2,2,0,0,0,0,0,0,}, {0,0,2,0,0,0,0,0,0,0,}, {0,0,2,0,0,0,0,0,0,0,} }; public Tile(Texture2D texture, int tileWidth, int tileHeight) { _tileWidth = tileWidth; _tileHeight = tileHeight; Texture = texture; totalTiles = Rows * Columns; } public void Update() { } public void Draw(SpriteBatch spriteBatch, Vector2 location) { for (int row = 0; row &lt; tileMap.GetLength(1); row++) { for (int col = 0; col &lt; tileMap.GetLength(0); col++) { switch (tileMap[row, col]) { case 0: spriteBatch.Draw(Texture, new Rectangle(row * _tileWidth, col * _tileHeight, _tileWidth, _tileHeight), new Rectangle(1 * _tileWidth, 1 * _tileHeight, _tileWidth, _tileHeight), Color.Transparent); break; case 2: spriteBatch.Draw(Texture, new Rectangle(row * _tileWidth, col * _tileHeight, _tileWidth, _tileHeight), new Rectangle(2 * _tileWidth, 2 * _tileHeight, _tileWidth, _tileHeight), Color.Transparent); break; default: break; } } </code></pre> <h1>The Main Class</h1> <pre><code>public class Main : Microsoft.Xna.Framework.Game { // Basic code for drawing. GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Tile test; Texture2D texturePack; public Main() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } protected override void Initialize() { base.Initialize(); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); texturePack = Content.Load&lt;Texture2D&gt;("AxiomTileSheet"); test = new Tile(texturePack, 8, 8); } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { if (Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit(); base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.White); spriteBatch.Begin(); test.Draw(spriteBatch); spriteBatch.End(); base.Draw(gameTime); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload