All tutorials

Nevezd meg, amit a programod létrehoz

Beginner 10 min engine

Egy program száz objektumot is felépíthet, és egyet sem mutat meg belőlük a Scene Graph-ban. A megnevezés az a cselekvés, amely megjelenít egyet, és ez működik sprite-okon, szövegen, 3D objektumokon, fényeken és részecskéken.

Amit meg fogsz tanulni#

Írsz egy kis BASIC programot, megfigyeled, hogy a Scene Graph üres marad, miközben a program egyértelműen működik, majd megjeleníted az egyes objektumokat azáltal, hogy nevet adsz nekik. A végére tudni fogod, miért rejti el a fa a program által épített dolgok nagy részét, és hogyan választhatod ki, mit mutasson meg.

Mielőtt elkezded#

  • Az Engine egy támogatással megnyitható modul. Az Inkwell, a Vectra és a PDF Studio a három ingyenes.
  • Nincs szükség előzetes oktatóanyagra. Az alábbiak mindegyike egyetlen szkript.
  • Tartsd nyitva a Scene Graph panelt, a nézetablak mellett. Ez a gyakorlat lényege.

Lépések#

  1. Nyisd meg az Engine-t, indíts egy üres jelenetet, és nyisd meg a szkriptszerkesztőt. Illeszd be ezt, és nyomd meg a Play gombot:

    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. Nézd meg a Scene Graph-ot. A sprite a képernyőn van, a fény világít, és a fa semmit nem mutat. Ez nem hiba, és ez az egész lecke.

    Tipp: a panel megjeleníti a nem elnevezett objektumok számát. Ez a szám a programod kimenete, amelyet a fa szándékosan nem sorolt fel.

  3. Nevezd el a sprite-ot. Adj hozzá egy sort a SpritePosition után, és nyomd meg újra a Play gombot:

    SpriteName(sprite, "játékos")
    

    A játékos megjelenik a fában. A képernyőn semmi más nem változott: a megnevezés nem hoz létre, nem mozgat és nem rajzol semmit. Publikál.

  4. Nevezd el a fényt is, azzal a paranccsal, amely ehhez az ötlethez tartozik:

    LightName(1, "nap")
    

    Most már két bejegyzés van. Kattints az egyikre: az inspektor követi, pontosan úgy, ahogy egy kézzel elhelyezett objektumnál tenné.

  5. Adj hozzá részecskéket, és nevezd el őket, hogy lásd, a szabály nem csak a sprite-okra vonatkozik:

    CreateParticles(1, 200.0, 200.0)
    ParticlesName(1, "füst")
    
  6. Most távolítsd el a három elnevező sort, és nyomd meg a Play gombot. A jelenet ugyanaz, a fa ismét üres, és a nem elnevezettek száma visszaáll háromra.

    Figyelmeztetés: egy név nem azonos egy id-vel. A SpriteName(sprite, "játékos") felcímkézi azt a sprite-ot, amelynek id-je a sprite változóban van; ez nem teszi lehetővé, hogy később ezzel a címkével találd meg. Az id marad a fogantyúd.

Eredmény#

Te döntheted el, mit mutasson a programod. Egy prop, egy fény és egy emitter jelenik meg az általad választott nevek alatt; a technikai objektumok százai, amelyeket egy valódi program épít, nem lesznek útban.

Miért létezik ez a szabály#

Egy klasszikus BASIC program folyamatosan hoz létre objektumokat: egy sprite-ot lövedékenként, egy szöveget pontszám-számjegyenként, egy képet mezőnként. Ha mindet felsorolná, a Scene Graph másodperceken belül olvashatatlanná válna, és az a három objektum, ami valójában érdekel, elveszne a zajban.

A fa tehát nem mutat meg mindent, és nem is találgatással rejti el a többit. Azt mutatja, amit elneveztél, és megszámolja a többit, hogy semmi ne tűnjön el csendben. A szűrő a tiéd, nem a motoré.

Mely objektumok nevezhetők el#

ParancsMit nevez el
SpriteName(id, name)Egy sprite-ot
TextName(id, name)Egy szövegobjektumot
ObjectName(id, name)Egy 3D objektumot
LightName(id, name)Egy pont- vagy irányfényt
ParticlesName(id, name)Egy részecske-emittert, 2D-ben vagy 3D-ben

A hangoknak, a képeknek, a memblockoknak és a betűtípusoknak nincs saját soruk a Scene Graph-ban: ezek erőforrások, nem jelenetobjektumok, és az elnevezésük sehol nem jelenítene meg semmit.

Továbblépés#