|
||||||||||||||||||
Add Forum to Favorites | Send Topic To a Friend | View Forum FAQ | Track this topic |
Last Thread Next Thread ![]() |
| Introduction to Isometric Engines |
|
![]() Pipo DeClown Member since: 2/16/2002 From: Amsterdam, Netherlands |
||||
|
|
||||
| Very nice article. Love your style. .lick |
||||
|
||||
![]() jessee Member since: 3/25/2004 |
||||
|
|
||||
| I'm not quite understand your formula: prestep_x = x_off - y_off prestep_y = (x_off / 2) + (y_off / 2) Could anybody explain that for me. thanks in advance!~ |
||||
|
||||
![]() darookie Member since: 9/17/2001 From: Mannheim, Germany |
||||
|
|
||||
| A piece of squared paper and a pencil will do - trust me |
||||
|
||||
![]() Anonymous Poster |
||||
|
||||
| This article is not very well explained. And some times I noticed things that are wrong because they get a little easier to understand when you are actually writing an isometric engine and experimenting with it. For instance: We will need to alter the addition of the x and y for every other vertical tile. What this means is if the vertical tile counter is even, we increase the map x when we move down. If the vertical tile counter is odd, we increase the map y when we move down. This is confusing. You never explained what "vertical tile counter" is. One might thing that it is map y itself, but it is not. It is a temporary variable (starting at zero) that increments at each iteration of the vertical loop. Start by setting the current screen x and y cords to 8,16. Remember to subtract the block width and height from those cords before you draw the tile. Don't you mean "16,8" instead of "8,16"? I suppose it is because the 8 is in the middle of a tile height (screen y) and 16 is in the middle of the tile width (screen x) and not the other way around. So it is "16,8." Now start a loop that draws horizontally. There are 12 tiles that can be drawn across (13 for every other vertical line). Pull the tile to draw from the map. Actually there are 10 tiles that can be drawn across (11 for every other vertical line), because they are 32 points wide. So 320/32 = 10. Draw the tile/tiles using the structure method above. Move right 32 pixels, add 1 to the temp map cords, subtract 1 from the temp cords. "Add 1 to temp map cords then subtract 1"? But then I stay at the same place. Oh, wait. You mean "add 1 to temp map x and subtract 1 from temp map y". Now I get it. There are more, but I think you get the point, besides this is getting very long. |
||||
|
||||
![]() sharemm Member since: 3/30/2007 From: hefei, China |
||||
|
|
||||
| Yes, you are very right. But "vertical tile counter", as you said, should start at one, not zero. |
||||
|
||||
![]() Pzc Member since: 3/30/2007 |
||||
|
|
||||
| Not that it matters a lot but the number 10 has been skipped in the picture IsoImg04.gif , the one that explains the draw-order for the tiles. Nice piece of work =) |
||||
|
||||
![]() sharemm Member since: 3/30/2007 From: hefei, China |
||||
|
|
||||
| yes, I just found this little bug, you are so careful. Anyway, it's a great article. I just found other articles related to isometric engine, it's here: http://bdn1.borland.com/article/0,1410,22928,00.html. But I think it's not a good method, it likes the initial level. |
||||
|
||||
All times are ET (US)![]() |
Last Thread Next Thread ![]() |
|