Grafiikka : komennot

DRAWTOWORLD


   KUVAUS

Pelimaailman koordinaatit ovat erilaisia kuin ruudun koordinaatit:

    

Normaalisti piirtokomennot (line, box, circle, jne.) piirtävät ruutukoordinaattien mukaan. CoolBasicissa on kuitenkin mahdollista piirtää esimerkiksi viivoja myös pelimaailman sisälle, jolloin kameran sijainti vaikuttaa siihen, mikä osa viivasta on näkyvissä. Voit käyttää viivaa tällä tavoin esimerkiksi sädetykin (rail gun) toteuttamiseen. Samaan tapaan voit piirtää ympyröitä ja laatikoita pelimaailman osaksi.

Jotta grafiikka piirtyisi oikein, on yleensä hyvä kutsua piirtokomentoja DrawGame- ja DrawScreen-komentojen välissä. Normaalistihan DrawGamea ei tarvitse käyttää, koska CoolBasic suorittaa sen automaattisesti, mutta muutoin on vaara, että esimerkiksi kartta peittää grafiikan, koska se piirretään grafiikan jälkeen. Kokeile esimerkkiä ilman DrawGame-komentoa ja sen kanssa.

Teksti ja kuvat piirtyvät myöskin oletuksellisesti ruutukoordinaattien mukaan, mutta voit tällä komennolla vaikuttaa niidenkin sijaintiin. Esimerkiksi pelihahmojen tietoja voidaan tulostaa niiden viereen pelimaailmassa.

Toiminto on oletuksellisesti pois päältä, joten piirtokomennot noudattavat totuttuja ruutukoordinaatteja.

   KÄYTTÖ
DRAWTOWORLD piirtokomennot, [kuvat], [teksti]

  • piirtokomennot
    ON = piirrä viivat, laatikot, ympyrät, ovaalit ja pisteet pelimaailmaan
    OFF = piirrä normaalisti

  • kuvat (valinnainen)
    ON = piirrä pelimaailmaan
    OFF = piirrä kuvat normaalisti (oletus)

  • teksti (valinnainen)
    ON = piirrä teksti (Text-komento) pelimaailmaan
    OFF = piirrä teksti normaalisti (oletus)

  •    ESIMERKKI
    'Set all drawing commands to draw to game world
    DrawToWorld ON

    FrameLimit 40

    'Create scene
    grass= MakeObjectFloor()
    lawn= LoadImage("Media\grass.bmp")
    PaintObject grass, lawn

    character= LoadObject("Media\guy.bmp",72)

    AddText "Use arrows to move..."

    Repeat

        'Guide
        If LeftKey() Then TurnObject character,5
        If RightKey() Then TurnObject character, -5
        If UpKey() Then MoveObject character,2
        If DownKey() Then MoveObject character, -2

        'Camera follow
        CloneCameraPosition character

        DrawGame
        
        'draw a hollow circle at the center
        Circle-5,5,10,OFF
        
        'draw a line
        Line 0,0,50, -50
        
        'draw a box
        Box-100,100,200,160,OFF
        
        DrawScreen

    Until EscapeKey()

    <<TAKAISIN