All tutorials

Nimeä se, mitä ohjelmasi luo

Beginner 10 min engine

Ohjelma voi rakentaa sata oliota eikä näyttää yhtäkään niistä Scene Graphissa. Nimeäminen on teko, joka saa yhden ilmestymään, ja se toimii spriteille, tekstille, 3D-objekteille, valoille ja partikkeleille.

Mitä opit#

Kirjoitat pienen BASIC-ohjelman, seuraat, kuinka Scene Graph pysyy tyhjänä, vaikka ohjelma selvästi toimii, ja saat sitten kunkin olion näkyviin nimeämällä sen. Lopuksi tiedät, miksi puu piilottaa suurimman osan siitä, mitä ohjelma rakentaa, ja miten valita, mitä se näyttää.

Ennen kuin aloitat#

  • Engine on tuettu moduuli. Inkwell, Vectra ja PDF Studio ovat ne kolme ilmaista.
  • Aiempaa opetusohjelmaa ei tarvita. Kaikki alla oleva on yksi skripti.
  • Pidä Scene Graph -paneeli auki näyttöikkunan vieressä. Se on koko harjoituksen ydin.

Vaiheet#

  1. Avaa Engine, aloita tyhjästä kohtauksesta ja avaa skriptieditori. Liitä tämä ja paina Play:

    image = LoadImage("hero.png")
    sprite = CreateSprite(image)
    SpritePosition(sprite, 100.0, 120.0)
    CreatePointLight(1, 0.0, 5.0, 0.0, 10.0, 255, 255, 255)
    DO
      Sync()
    LOOP
    
  2. Katso Scene Graphia. Sprite näkyy ruudulla, valo palaa, ja puu näyttää ei mitään. Tämä ei ole virhe, vaan koko opetuksen ydin.

    Vihje: paneeli näyttää nimeämättömien olioiden määrän. Tuo luku on ohjelmasi tulostetta, jota puu tarkoituksella ei listannut.

  3. Nimeä sprite. Lisää yksi rivi kohdan SpritePosition jälkeen ja paina Play uudelleen:

    SpriteName(sprite, "pelaaja")
    

    pelaaja ilmestyy puuhun. Mikään muu ei muuttunut ruudulla: nimeäminen ei luo, siirrä eikä piirrä mitään. Se julkaisee.

  4. Nimeä myös valo, komennolla, joka syntyi tämän idean mukana:

    LightName(1, "aurinko")
    

    Nyt kaksi merkintää. Napsauta jompaakumpaa: inspector seuraa mukana, aivan kuten se tekisi käsin sijoitetulle objektille.

  5. Lisää partikkeleita ja nimeä ne, jotta näet, ettei sääntö koske vain spritejä:

    CreateParticles(1, 200.0, 200.0)
    ParticlesName(1, "savu")
    
  6. Poista nyt kolme nimeämisriviä ja paina Play. Kohtaus on identtinen, puu on taas tyhjä, ja nimeämättömien määrä on jälleen kolme.

    Varoitus: nimi ei ole id. SpriteName(sprite, "pelaaja") nimeää spriten, jonka id on muuttujassa sprite; se ei anna sinun löytää sitä myöhemmin tuolla nimellä. Id pysyy kahvana, jolla käsittelet sitä.

Tulos#

Voit päättää, mitä ohjelmasi näyttää. Prop, valo ja emitteri ilmestyvät valitsemillasi nimillä; sadat tekniset oliot, joita oikea ohjelma rakentaa, pysyvät poissa tieltä.

Miksi sääntö on olemassa#

Klassinen BASIC-ohjelma luo olioita jatkuvasti: spriten per luoti, tekstin per pistenumero, kuvan per ruutu. Kaikkien listaaminen tekisi Scene Graphista lukukelvottoman sekunneissa, ja ne kolme oliota, joista todella välität, hukkuisivat meluun.

Puu ei siis näytä kaikkea ja piilota loppuja arvaamalla. Se näyttää sen, minkä nimesit, ja laskee loput, jotta mikään ei katoa huomaamatta. Suodatin on sinun, ei moottorin.

Mitkä oliot voidaan nimetä#

KomentoMitä se nimeää
SpriteName(id, name)Sprite
TextName(id, name)Tekstiobjekti
ObjectName(id, name)3D-objekti
LightName(id, name)Piste- tai suuntavalo
ParticlesName(id, name)Partikkeliemitteri, 2D tai 3D

Äänillä, kuvilla, memblockeilla ja fonteilla ei ole omaa riviä Scene Graphissa: ne ovat resursseja, eivät kohtausolioita, ja niiden nimeäminen ei näyttäisi mitään missään.

Mene pidemmälle#