Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Author Topic: Poradie entit na scéne nefunguje správne  (Read 1180 times)

0 Members and 1 Guest are viewing this topic.

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 129
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Poradie entit na scéne nefunguje správne
« on: June 15, 2015, 12:02:32 PM »

Zdravím všetkých po nekonečnej dobe. Stále makám na hre (s prestávkami už od 2012), ktorá sa už pomaly začína kryštalizovať do úspešného konca ale opravujem aj kdejaké bugy. Jeden z nich Vám posielam do videa, ktoré som nahral na Youtube.

Ako vidieť na videu, najprv položím kameň a naň potom drevený ,,most". Potrebujem dosiahnuť aby most bol skutočne nad kameňom a nie pod ním. Keď opustím scénu a vrátim sa, všetko je ako má byť. Ako je to možné? Ako docieliť aby to hneď po položení fungovalo? Mám to ,,nastavené" aj v Scene editovaní, kde mám entity zoradené podla poradia - t.j. podla vrstiev nad sebou. Neviem si dať s tým rady, aj keď je to primitívna záležitosť..  ::slug

https://www.youtube.com/watch?v=8SUUGZc7DPk
Logged

NAItReIN

  • Lurker
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 38
    • View Profile
Re: Poradie entit na scéne nefunguje správne
« Reply #1 on: June 15, 2015, 04:32:48 PM »

Ahoj, je to veľmi zaujímavé. Rád by som ti poradil. Mohol by si nám poslať aspoň tie dve scény vrátane skriptov? :)
Logged

!Errorcode!

  • Loader software
  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Gender: Male
  • Posts: 129
  • www.loadersoftware.szm.com
    • View Profile
    • LOADER software
Re: Poradie entit na scéne nefunguje správne
« Reply #2 on: June 15, 2015, 04:51:11 PM »

Tu je script zo súboru ,,kamen_pilier"
Code: [Select]
global dreva_most;


on "dreva_komplet"
{

Game.DropItem("dreva_komplet");
        dreva_most = Scene.LoadEntity("objekty\dreva_most\dreva_most.entity");
dreva_most.active = true;
dreva_most.SkipTo(138, 258);

z=1;
Game.PlaySound("sounds/most_hotovy.ogg");     

}

To je základná logika toho. Položenie drevených častí, čo technicky znamená že sa tam po kliknutí na ten kameň zobrazia tie drevá. Ako vidieť ale na videu, zobrazia sa pod úrovňou kameňa. Správne sa zobrazia až po opätovnom vrátení na scénu. Teraz vlastne rozmýšlam, že to vyskúšam spraviť tak, že pri pokladaní pridám funkciu ChangeScene aby sa scéna reštartovala. Vyskúšam..
Logged

NAItReIN

  • Lurker
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 38
    • View Profile
Re: Poradie entit na scéne nefunguje správne
« Reply #3 on: June 15, 2015, 04:54:18 PM »

Mohol by si to urobiť aj takto: otvoríš si danú scénu prostredníctvom nástroja SceneEdit. Vytvoríš si tam dve entity a nastavíš si správne ich poradie. Potom prostredníctvom skriptov budeš zapínať zobrazovanie tých dvoch entít. Je to zaručený spôsob.
Logged

NAItReIN

  • Lurker
  • *
  • Karma: 1
  • Offline Offline
  • Posts: 38
    • View Profile
Re: Poradie entit na scéne nefunguje správne
« Reply #4 on: June 16, 2015, 01:10:13 PM »

Alternatívne riešenie (nesnaží sa riešiť problém, ale nájsť úplne nové riešenie):


(klikni pre zväčšenie)

PolozitKamen.script
Code: WME Script
  1. #include "scripts\base.inc"
  2.  
  3. on "kamen"
  4. {
  5.   // Položíme kameň
  6.   var entKamen = Scene.GetNode("kamen");
  7.   entKamen.Active = true;
  8.  
  9.   // Kameň už viackrát nebudeme pokladať do vody
  10.   var PolozitKamen = Scene.GetNode("PolozitKamen");
  11.   PolozitKamen.Active = false;
  12.  
  13.   // Môžeme položiť aj drevo
  14.   var PolozitDrevo = Scene.GetNode("PolozitDrevo");
  15.   PolozitDrevo.Active = true;
  16.  
  17.   Game.DropItem("kamen");
  18. }

PolozitDrevo.script
Code: WME Script
  1. #include "scripts\base.inc"
  2.  
  3. on "drevo"
  4. {
  5.   // Položíme drevo
  6.   var entDrevo = Scene.GetNode("DrevoKomplet");
  7.   entDrevo.Active = true;
  8.  
  9.   // Môžeme prejsť cez vodu
  10.   var regScena3 = Scene.GetNode("Scena3");
  11.   regScena3.Active = true;
  12.  
  13.   Game.DropItem("drevo");
  14. }
Logged
 

Page created in 0.2 seconds with 17 queries.