Re: Isometric Engine Problem
what if the screen is not daimond shaped?
Re: Isometric Engine Problem
Quote:
Originally Posted by nareth
what if the screen is not daimond shaped?
Being Isometric means a square map will be diamond so it would still work....If the Non-Isometric of the map is not square then you would achive this by making a bigger square and removing tiles so thats all you do once its Isometric ;).
Re: Isometric Engine Problem
what he ment was
"what if the shape of the map is rectangular"
note hes banned .. im his friend(you can hceck ip if you want =)
Re: Isometric Engine Problem
Yea I know he is banned ;).
Anyway if its rectangular then it will still work, well the code I gave will at least not looked at the other code that got posted.
1 Attachment(s)
Re: Isometric Engine Problem
im posting for nareth know;
he says that his drawing function is messed
Code:
Let xTemp = Map.Width * TileHalfWidth
For X = 0 To Map.Width
Let xDest = xTemp
Let yDest = yTemp
For Y = 0 To Map.Height
Let rSrc.Left = Map.TileX(X, Y) * TileWidth
Let rSrc.Top = Map.TileX(X, Y) * TileHeight
Let rSrc.Right = rSrc.Left + TileWidth
Let rSrc.Bottom = rSrc.Top + TileHeight
Call BufferSurface.BltFast(xDest, yDest, GroundTiles, rSrc, DDBLTFAST_DONOTWAIT Or DDBLTFAST_SRCCOLORKEY)
Let xDest = xDest + TileHalfHeight
Let yDest = yDest + TileHalfWidth
Next
Let xTemp = xTemp - TileHalfHeight
Let yTemp = yTemp + TileHalfWidth
Next
and he send me this picture thru msn:
Re: Isometric Engine Problem
ahahahahaha i looked at the code. and im not good in directx but
Let xTemp = xTemp - TileHalfHeight
Let yTemp = yTemp + TileHalfWidth
even i noticed his mistake
he was so embarresed