All tutorials

Namakan apa yang program anda cipta

Beginner 10 min engine

Satu program boleh membina seratus objek dan tidak menunjukkan satu pun daripadanya dalam Scene Graph. Menamakan adalah tindakan yang menjadikan satu daripadanya muncul, dan ia berfungsi pada sprite, teks, objek 3D, lampu dan zarah.

Apa yang akan anda pelajari#

Anda akan menulis satu program BASIC yang kecil, memerhati Scene Graph kekal kosong walaupun ia jelas berfungsi, dan kemudian menjadikan setiap objek muncul dengan menamakannya. Pada akhirnya anda akan tahu mengapa pepohon itu menyembunyikan kebanyakan daripada apa yang dibina oleh sebuah program, dan bagaimana untuk memilih apa yang ia tunjukkan.

Sebelum anda mula#

  • Engine ialah modul disokong. Inkwell, Vectra dan PDF Studio adalah tiga modul yang percuma.
  • Tiada tutorial sebelumnya diperlukan. Semua di bawah ini adalah satu skrip.
  • Kekalkan panel Scene Graph terbuka, di sebelah viewport. Itulah inti latihan ini.

Langkah-langkah#

  1. Buka Engine, mulakan satu adegan kosong, dan buka penyunting skrip. Tampal ini dan tekan 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. Lihat pada Scene Graph. Sprite itu berada di skrin, lampu itu menyala, dan pepohon itu menunjukkan tiada apa-apa. Ini bukan satu pepijat, dan inilah keseluruhan pengajarannya.

    Petua: panel itu menunjukkan satu kiraan objek tanpa nama. Nombor itu adalah output program anda yang pepohon itu sengaja tidak senaraikan.

  3. Namakan sprite itu. Tambah satu baris selepas SpritePosition, dan tekan Play sekali lagi:

    SpriteName(sprite, "player")
    

    player muncul dalam pepohon itu. Tiada apa-apa lagi berubah di skrin: menamakan tidak mencipta, menggerakkan atau melukis apa-apa. Ia menerbitkan.

  4. Namakan lampu itu juga, dengan perintah yang datang bersama idea ini:

    LightName(1, "sun")
    

    Dua entri sekarang. Klik salah satu: inspector akan mengikutnya, sama seperti bagi sebuah objek yang anda letakkan secara manual.

  5. Tambah zarah dan namakan ia, supaya anda dapat lihat bahawa peraturan ini bukan hanya tentang sprite:

    CreateParticles(1, 200.0, 200.0)
    ParticlesName(1, "smoke")
    
  6. Sekarang buang tiga baris penamaan itu dan tekan Play. Adegan itu sama seperti sebelumnya, pepohon itu kosong semula, dan kiraan tanpa nama kembali kepada tiga.

    Amaran: satu nama bukan satu id. SpriteName(sprite, "player") melabel sprite yang id-nya berada dalam sprite; ia tidak membenarkan anda mencarinya kemudian melalui label itu. Id itu kekal sebagai pemegang anda.

Hasil#

Anda boleh memutuskan apa yang program anda tunjukkan. Satu prop, satu lampu dan satu pemancar muncul di bawah nama yang anda pilih; beratus-ratus objek teknikal yang dibina oleh sebuah program sebenar kekal tidak mengganggu.

Mengapa peraturan ini wujud#

Sebuah program BASIC klasik mencipta objek secara berterusan: satu sprite bagi setiap peluru, satu teks bagi setiap digit skor, satu imej bagi setiap jubin. Menyenaraikan kesemuanya akan menjadikan Scene Graph sukar dibaca dalam beberapa saat sahaja, dan tiga objek yang anda benar-benar ambil berat akan hilang dalam kebisingan itu.

Jadi pepohon itu tidak menunjukkan segala-galanya dan menyembunyikan selebihnya dengan meneka. Ia menunjukkan apa yang anda namakan, dan ia mengira selebihnya supaya tiada apa-apa hilang secara senyap. Penapis itu milik anda, bukan milik enjin.

Objek yang boleh dinamakan#

PerintahApa yang dinamakannya
SpriteName(id, name)Satu sprite
TextName(id, name)Satu objek teks
ObjectName(id, name)Satu objek 3D
LightName(id, name)Satu lampu titik atau terarah
ParticlesName(id, name)Satu pemancar zarah, 2D atau 3D

Bunyi, imej, memblock dan fon tidak mempunyai baris dalam Scene Graph: ia adalah sumber, bukan objek adegan, dan menamakannya tidak akan menunjukkan apa-apa di mana-mana.

Meneroka lebih lanjut#