Kartat : komennot

SETMAP


   KUVAUS

Tällä komennolla voit piilottaa ja näyttää tilekartan kerroksia. Tilekartoissa on vain kaksi piirrettävää kerrosta: tausta ja päällys (numerointi 0 ja 1). Objektit piirretään näiden kahden väliin. Jos pelisi käyttää vain taustakerrosta, voi päällisen kytkeä pois näkyvistä, mikä nopeuttaa hieman suorituskykyä. Jos taas haluat taustan läpinäkyväksi, ja karttasi käyttää vain päällyskerrosta, voit kytkeä taustan pois päältä. Taustalla voi olla Floor-objekti, joka liikkuu hieman eri tasossa karttaan nähden (eri Z-syvyys). Tällä tavalla saat hienon syvyysvaikutelman sivulta kuvattuihin tasoloikkiin. Esimerkki valaisee asiaa.

   KÄYTTÖ
SETMAP karttamuuttuja, taustakerros, päällikerros

  • karttamuuttuja = Se objektimuuttuja, mihin kartta ladattiin.
  • taustakerros
    ON = piirrä
    OFF = älä piirrä

  • päällikerros
    ON = piirrä
    OFF = älä piirrä

  •    ESIMERKKI
    'Make an infinite background
    grass=MakeObjectFloor()
    PaintObject grass,LoadImage("Media\grass.bmp")
    'Make it run as it were far away
    PositionObject grass,0,0, -2

    'Load the map
    map=LoadMap("Media\testmap.til","Media\tileset.bmp")

    AddText "Use Arrows to move..."
    AddText "F1 = toggle back layer on/off"
    AddText "F2 = toggle fore layer on/off"

    'Defaults
    back=1
    fore=1

    PositionCamera 0, -90
    RotateCamera 0,90 'make the camera face upwards

    PlayObject map,0,0,1

    'The game-loop itself
    Repeat

        If KeyHit(cbkeyf1) Then back=Not back
        If KeyHit(cbkeyf2) Then fore=Not fore
        
        'Controls
        If LeftKey() Then MoveCamera -1,0
        If RightKey() Then MoveCamera 1,0
        If UpKey() Then MoveCamera 0,1
        If DownKey() Then MoveCamera 0, -1
        
        SetMap map,back,fore 'update map properties

        'Let's draw the game world before the text
        'Otherwise the text would be covered by the map
        DrawGame

        Text 20,70,"BACK: "+back
        Text 20,82,"FORE: "+fore

        DrawScreen

    Until EscapeKey()

    <<TAKAISIN