Login Register
Frontpage Code library Pastebin

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 all
 1
 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.