Sign in to follow this  

Unity [.net] Need Help With Tilemap

Recommended Posts

Has anyone here made a game that uses Direct3D to display a 2D tilemap in C#? I am having a real hell of a time drawing a single tile correctly. My textures keep coming out slightly distorted. I posted a detailed explanation of my problem in the DX forum. Anyways, my code looks solid so I'm beginning to suspect either driver problems or .Net bug. I've Googled around and can't find any tilemaps implemented in a .Net language to look at. This is such a pain. Doing a tilemap with GDI+ was super easy, but too slow. Thus my need for D3D. If I can't get this to work I may need to fall back on DirectDraw (yuck).

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
what were you thinking about!!>!?!?!!?!?!?! DUDE Check out the D3DXSprite interface!!!! your code is solid but one function can do what all of ur code is doing!!! but 3x's better

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
sry in ur case , C#, look under the Direct3D namespace for the Sprite class i found it in the dx managed doc

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
DONT YOU DARE USE DirectDraw!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
P.S. Reason: dont ask stupid questions, ill pwn you

Share this post

Link to post
Share on other sites
Whateva. I'll use 12 deprecated APIs which constitute hate crimes. Whateva I do what I wan!

On the DX sprite interface:

I hear it's slow and have no interest in sinking time into it and later determining that it is, indeed, slow. What I'm doing is pretty simple and did not require much time at all to get running. It also makes panning and zooming and rotation trivial. Dunno if the sprite interface does that. Dun care.

Share this post

Link to post
Share on other sites
EITHER use the textured vertex buffer:

CustomVertex.PositionTextured[] verts = new CustomVertex.PositionTextured[4];
verts[ 0 ] = new CustomVertex.PositionTextured( x,y,0.0f, 0.0f, 0.0f );
verts[ 1 ] = new CustomVertex.PositionTextured( x,y,0.0f, 0.0f, 1.0f );
verts[ 2 ] = new CustomVertex.PositionTextured( x,y,0.0f, 1.0f, 1.0f );
verts[ 3 ] = new CustomVertex.PositionTextured( x,y,0.0f, 1.0f, 0.0f );

Use a triangle fan to render it.
The last two arguments are how to display the texture

The texture has these coordinates
0.0f,0.0f ------ 0.0f,1.0f
| /|
| / |
| / |
|/ |
1.0f,0.0f ------ 1.0f,1.0f

So just assign the vertices to the proper texture coordinate and the texture will render coorectly.

OR use sprites.
Just create a sprite and load a texture with a color key and then render it.

Sprite spr = new Sprite(device);
Texture tex = TextureLoader.FromFile(device, "texture.bmp", 0, 0, 0, Usage.Dynamic, Format.Unknown, Pool.Default, Filter.None, Filter.None, Color.FromArgb(255,255,0,0).ToArgb());

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Partner Spotlight

  • Forum Statistics

    • Total Topics
    • Total Posts
  • Similar Content

    • By Strifexxx
      Hi guys, check out our new game about sticks. Feedback welcome!
      Download on Google Play:

      Stickman Dismount 2 Annihilation is a sequel to the legendary game of survival, where to make incredible tricks, driving different transport and getting into different crash! The game is made in the best traditions of simulator games with ragdoll physics elements. Make incredible jumps and tricks and destroy the enemy! Your task is make the finish alive or dead! 

    • By Knife Entertainment

      New indie game development studio Knife Entertainment expects to release their debut project My Little Story: Reborn.

      Reborn is the first-person horror containing the spirit of the occultism and mystery. We decided to give players something, which they miss so much in games of this genre: you don't have to hide in dark corners trying to escape from some invulnerable monster. It will be vice versa. We gave players everything to make even the most savage and malicious enemy tremble with fear. You'll face the cruel world full of danger, to expose dark secrets and to fight with ancient evil.

      Our principal credo is our great attention to various details. That's why there are a lot of easter eggs in the form of references and visual quoting of such cult films, games and art works, as The Evil Dead, True Detective, Silent Hill, etc. The release is scheduled for the end of this year.
      Contact us:

    • By ilovegames
      Have you ever dreamed of fighting with dinosaurs? If so, then this game is for you. Hold out against the bloodthirsty prehistoric lizards for as long as possible. Seize more weapons, including a shot gun, sword and other stuff. Good luck!

    • By INTwindwolf

      We are an indie game studio consisted of professional and friendly people. Additionally, we are a team of skilled artists and dedicated indie enthusiasts. Our current project is INT, developed on Unity Engine 5 for platforms Windows, Linux, and Mac.
      INT is a 3D Sci-fi RPG with a strong emphasis on story, role playing, and innovative RPG features such as randomized companions. The focus is on the journey through a war-torn world with fast-paced combat against hordes of enemies. The player must accomplish quests like a traditional RPG, complete objectives, and meet lively crew members who will aid in the player's survival. Throughout the game you can side and complete missions through criminal cartels, and the two major combatants, the UCE and ACP, of the Interstellar Civil War.
      Please note that all of our current positions are remote work. You will not be required to travel.
      For more information about us, follow the links listed below.
      INT Official website
      Steam Greenlight
      IndieDB page
      Also follow social media platforms for the latest news regarding our projects.
      Animation Rigger
      Community Manager
      Website Administrator
      This is the perfect opportunity to get into the game development industry. Being an Indie team we do not have the creative restrictions often imposed by publishers or other third parties. We are extremely conscientious of our work and continuously uphold a high level of quality throughout our project.
      We are unable to offer wages or per-item payments at this time. However revenue-sharing from crowd-funding is offered to team members who contribute 15-20 hours per week to company projects, as well as maintain constant communication and adhere to deadlines. Currently the crowd-funding campaign is scheduled for the year 2018. Your understanding is dearly appreciated.
      Thank you for your time! We look forward to hearing from you!
      John Shen
      HR Lead
      Starboard Games LLC
    • By Misantes
      Hey everyone
      I've hit a milestone for a side-project of mine I've been working on for some time. It's been a frustrating labor of love, but reached my version 1.0 mark recently
      The asset can be used to create procedural music configurations that are editable in real time in a game. You're able to edit dozens of variables like the scale, mode, tempo, instruments, effects and dozens of other settings to react and adapt to gameplay or other events (or just use it as an easy tool to custom make music for your game). 
      It's available on the unity asset store here:!/content/99791
      A demo is available on my github page:
      Video Link-Main:
      Video Link-Presets showcase:
      Video Link-Features Overview:
      Video Link-Chiptune example:
      It's still in active development, despite this release, so I'd be very interested in any feedback ( good or bad), advice, or suggestions for what may make it more appealing to you as developers. It'd be useful to know what features would make it more useful to you as a developer, or feedback on any aspect of the player, really, as I have a few directions I can take the generator for future updates.
      Thanks for your time! I look forward to anyone's thoughts :).

  • Popular Now