Objektit : komennot

LOOPOBJECT


   KUVAUS

Tämä komento animoi objektin. Objekti pitää olla ladattuna funktiolla LoadAnimObject. Aloitus- ja lopetuskohdat määräävät mikä osa animoidusta kuvasarjasta soitetaan. Kaikki loput parametrit ovat valinnaisia. Huomaa, että ensimmäinen animaatioframe on nolla, joten jos haluat soittaa animaation alusta alkaen, ensimmäiseksi parametriksi on annettava nolla.

Voit käyttää miinusmerkkistä nopeutta, jos haluat toistaa animaation takaperin. Silloin alkuarvon pitää olla suurempi kuin lopetusarvon. Esim. 10->0, nopeus -5. Kaikkia frameja käsitellään desimaalilukuina, joten saat halutessasi melko tarkan animaatiokeston. Nykyisen framen saat funktiolla ObjectFrame.

Valinnainen jatkumoparametri määrittää, jatketaanko animaation soittamista samasta kohdasta mihin se pysäytettiin komennolla StopObject. Tällä tavalla voit tauottaa animaatioita. Yleensä aloittelijat eivät tarvitse jatkumoa, joten sen voi jättää kirjoittamatta.

Toisin kuin PlayObject, nyt objektia toistetaan loputtomiin kunnes se pysäytetään erilaisella animointikäskyllä tai komennolla StopObject.

Tilekarttoja animoidaan eri tavalla. Alku- ja loppuarvoilla ei silloin ole merkistystä, pistä vaikka nollat kumpaankin. Sen sijaan animaationopeus on erilainen kuin normaaleissa objekteissa. Siinä se ilmoitetaan monenko sekunnin välien animaatio päivitetään. Esimerkiksi arvo 0.5 on päivittää kartan animaation 2 kertaa sekuntissa, ja arvo 4 joka 4 sekunnin välein.

   KÄYTTÖ
LOOPOBJECT objektimuuttuja, [alku], [loppu], [nopeus], [jatkumo]

  • objektimuuttuja = Se muuttuja, mihin objekti ladattiin tai luotiin.
  • alku (valinnainen) = Mistä kohtaa animaatiota aletaan soittamaan. Alku on nolla.
  • loppu (valinnainen) = Animaation loppukohta.
  • nopeus (valinnainen) = Animaation nopeus (suurempi on nopeampi). Oletus 0.1.
  • jatkumo (valinnainen)
    OFF = aloita aina alusta (oletus)
    ON = jatka siitä mihin animaatio on pysäytetty

  • Katso myös: PLAYOBJECT, STOPOBJECT, LOADANIMOBJECT

       ESIMERKKI
    'make screen a bit zoomed
    SCREEN 250,188,0,cbsizable

    FrameLimit 40 'limit game speed

    'load animation for both directions
    zeroright=LoadAnimObject("Media\zerorun1.bmp",47,51,0,12)
    MaskObject zeroright,cbmagenta

    zeroleft=LoadAnimObject("Media\zerorun2.bmp",47,51,0,12)
    MaskObject zeroleft,cbmagenta
    ShowObject zeroleft,OFF

    'default direction
    zero=zeroright

    Color cbblack
    AddText "Try arrows"
    ClsColor cbwhite

    'MAIN LOOP
    Repeat

        'run right!
        If RightKey() Then
            ShowObject zeroright,ON
            ShowObject zeroleft,OFF
            zero=zeroright
            LoopObject zero,2,11,0.25,ON 'animate at speed 0.25
        'run left!
        ElseIf LeftKey() Then
            ShowObject zeroleft,ON
            ShowObject zeroright,OFF
            zero=zeroleft
            LoopObject zero,2,11,0.25,ON 'animate at speed 0.25
        Else
            'nothing is pressed so freeze
            StopObject zero
        EndIf

        DrawScreen

    Until EscapeKey()

    <<TAKAISIN