Tilekoordinaatit maailmankoordinaateista
Author: VesQ
Added: 28. joulukuuta 2011 kello 23.10
Edited: 28. joulukuuta 2011 kello 23.13
Category: Kartat
Description
Nämä kaksi funktiota palauttavat tilekoordinaatit maailmankoordinaateista. Mukana esimerkkikoodi eli voit ajaa suoraan koko koodin CB:ssä ja nähdä tulokset.
Nämä funktiot olettavat ettei karttaa ole siirrelty tai käännelty.
Code
Select all1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | Function GetTileXFromWorldX(_x, _map, _tileWidth = 32)
Return ((_x + ObjectSizeX(_map)/2) / _tileWidth + 1)
EndFunction
Function GetTileYFromWorldY(_y, _map, _tileHeight = 32)
Return ((-_y + ObjectSizeY(_map)/2) / _tileHeight + 1)
EndFunction
// ESIMERKKI
FrameLimit 60
map= LoadMap("Media\cdm2.til","Media\tileset.bmp")
guy= LoadObject("Media\guy.bmp", 72)
Repeat
If LeftKey() Then TurnObject guy, 5
If RightKey() Then TurnObject guy, -5
If UpKey() Then MoveObject guy, 2
If DownKey() Then MoveObject guy, -2
tileX = GetTileXFromWorldX( ObjectX(guy), map, 32 )
tileY = GetTileYFromWorldY( ObjectY(guy), map, 32 )
If tileX >= 1 And tileX <= MapWidth() And tileY >= 1 And tileY <= MapHeight() Then
If oldtileX >= 1 And oldtileY >= 1 Then
EditMap map, 0, oldtileX, oldtileY, oldtile
EndIf
oldtileX = tileX
oldtileY = tileY
oldtile = GetMap2(0,tileX,tileY)
EditMap map, 0, tileX, tileY, 114
EndIf
CloneCameraPosition guy
DrawScreen
Forever
|
Comments
No comments. You can be first!
Leave a comment
You must be logged in to comment.