Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (407)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Rendering order in 2.5D TileBased game.  (Read 836 times)
0 Members and 1 Guest are viewing this topic.
Offline marcuiulian13

Senior Member


Medals: 3



« Posted 2012-11-24 21:03:48 »

Hello everyone.
Can anyone tell me what is the method used in 2.5D games (not isometric) to render sprites with a "depth" effect?

I am using libGDX. My tiles are stored in a byte unidimensional array (their type id's), and are rendered using the tile type "model" (i am not using a Object for every tile in game, but only one Object for every type and then render it's texture where it should be).

The way i think this is to render tiles whose Y is greater than sprite Y, then render sprite, then the tiles after it. The problem is that i don't know  how to handle this with multiple sprites.  persecutioncomplex

If anyone can, please answer this. Thanks!

Iulian  Grin
 

Check out my current project: http://cube3dev.blogspot.com/
Please comment/review/suggest.
Offline Jimmt
« Reply #1 - Posted 2012-11-25 17:34:31 »

Why don't you have a for loop running thru your list of sprites, and then drawing each sprite?
The list would have to be sorted according to Y, using Arrays.sort() or whatever you prefer.
Offline ctomni231

JGO Knight


Medals: 28
Projects: 1


Not a glitch. Just have a lil' pixelexia...


« Reply #2 - Posted 2012-11-25 17:56:37 »

The best way to render a map like this is to order all the objects by the Y coordinate value. (Not just the sprites, but the game objects and land objects as well).

  • You want to order each object from the lowest Y value to the highest.
  • Then just go through a loop and draw each object in order.
  • If a land and an object share the same Y value, draw the land object first before drawing the sprite.

That should take care of the depth in a 2.5 isometric game nicely. To make it fast, make sure you are only drawing items within the screen.
Games published by our own members! Check 'em out!
Try the Free Demo of Titan Attacks
Offline marcuiulian13

Senior Member


Medals: 3



« Reply #3 - Posted 2012-11-25 19:51:16 »

I don't have an object for every tile in game!
As i said, i have only one object for every TYPE of tile and render only it's texture where it should be (using a for loop trough the byte[] storing tile id at 'i' position).

Check out my current project: http://cube3dev.blogspot.com/
Please comment/review/suggest.
Pages: [1]
  ignore  |  Print  
 
 

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (97 views)
2013-05-17 21:29:12

alaslipknot (105 views)
2013-05-16 21:24:48

gouessej (135 views)
2013-05-16 00:53:38

gouessej (130 views)
2013-05-16 00:17:58

theagentd (141 views)
2013-05-15 15:01:13

theagentd (128 views)
2013-05-15 15:00:54

StreetDoggy (170 views)
2013-05-14 15:56:26

kutucuk (192 views)
2013-05-12 17:10:36

kutucuk (195 views)
2013-05-12 15:36:09

UnluckyDevil (201 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.092 seconds with 20 queries.