Objektit : komennot

PAINTOBJECT


   KUVAUS

Tämä on monikäyttöinen komento:

Maalaa objekteja toisella ojektilla
Voit "uudelleenteksturoida" objektin toisella. Alkuperäinen objekti voi olla piilotettu, ja näin voit muuttaa objektin ulkonäköä kertaheitolla. Täydellinen esimerkiksi skinien vaihtoon lennossa tai vaikkapa pelaajan muodonmuutokseen.

Maalaa objekteja kuvalla
Voit "uudelleenteksturoida" objektin aiemmin ladatulla kuvalla. Näin voit kätevästi luoda objektja lennossa ilman, että niitä ladataan mistään. Luot vain kuvan (MakeImage), piirrät siihen, ja päällystät objektin sillä. Huomaa, että kuvamuuttujaa esitettäessä sen eteen pitää kirjoittaa miinus, esim. PaintObject tyhjä,-imgPäällyste

Lattian päällystäminen
Kun luot lattian funktiolla MakeObjectFloor, se on aluksi näkymätön. Se pitää siis päällystää jollakin kuvalla. Tässä tapauksessa käytät kuvamuuttujaa, ja haluttu kuva pitää olla jo valmiiksi ladattuna muistiin funktiolla LoadImage.

Partikkelilähteen muuttaminen
Voit muuttaa partikkelilähteen suoltamien partikkelien kuvaa. Näin lumisade muuttuukin tulisateeksi! Käytät olemassaolevaa kuvamuuttujaa, joten kuva pitää olla jo valmiiksi ladattuna muistiin.

Tilesetin muuttaminen
Voit muuttaa tilekartan (MAP-komennot) tilesettiä lennossa ilman, että sitä ladataan hitaasti kovalevyltä. Käytät jo valmiiksi ladattua kuvamuuttujaa, joka sisältää uuden tilesetin. Tällä tavalla voit käyttää esimerkiksi hienoa negatiivi-välähdystä tai yö-sävytettyä tilekarttaa, joka vaihtuu esimerkiksi kellonajan mukaan.

Huomaa, että master-objektin päällystäminen vaikuttaa kaikkiin siitä tehtyihin klooneihin.

   KÄYTTÖ
PAINTOBJECT objektimuuttuja, päällyste

  • objektimuuttuja = Se muuttuja, mihin objekti ladattiin tai luotiin.
  • päällyste = Päällystettävän objektin tyypistä riippuen joko toinen objekti tai kuvamuuttuja, joka sisältää päällysteen tai tilesetin.

  •    ESIMERKKI
    'load a map
    map=LoadMap("Media\cdm2.til","Media\tileset.bmp")

    'load an alternative tileset
    newset1=LoadImage("Media\negative.bmp")
    newset2=LoadImage("Media\tileset.bmp")

    'add some info onto screen
    Color cborange
    AddText "Press SPACE to change tileset"

    Repeat

        'change the look?
        If KeyHit(cbkeyspace) Then
            set=Not set
            If set Then
                PaintObject map,newset1
            Else
                PaintObject map,newset2
            EndIf
        EndIf

        'don't forget this!
        DrawScreen

    Until EscapeKey()

    <<TAKAISIN