Játékot készítek, és hogyan vizsgáljam hatékonyan, hogy van-e szörny a játékos közelében?
Folyamatosan vizsgálják a szörnyek, hogy a játékos a közelükben van, vagy inkább a játékos vizsgálja, hogy melyik szörnyek vannak a közelükben? Más ötletet is szívesen meghallgatok.
Azért kéne, hogy ha adott közelségben van egy szörny, akkor rátámadjon a játékosra.
Ha megvan mindenkinek a pozíciója, abból egyértelműen meg lehet vizsgálni, hogy az adott szörny közel van-e. Egyszerű távolságmeghatározás.
"Folyamatosan vizsgálják a szörnyek, hogy a játékos a közelükben van, vagy inkább a játékos vizsgálja, hogy melyik szörnyek vannak a közelükben?"
Ez így eléggé értelmetlen. A program vizsgálja meg, hogy a közelében van-e. Vagy hogy érted, hogy a szörny vizsgálja meg?
Van N db szörny a játékban, akik pl. fél másodpercenként ellenőrzik, hogy van-e játékos a közelükben, mert ha van, akkor rátámadnak.
Vagy a játékos ellenőrzi fél másodpercenként, hogy melyik szörnyek vannak a közelében, és ha valamelyik a közelében van, akkor értesíti a szörnyet, hogy támadja meg a játékost.
Az a kérdés, hogy melyik terheli kevésbé a rendszert.
Minden szörny tároljon referenciát a játékosról, és fél mp-nként az összes szörny (párhuzamosan) vizsgálja, hogy a játékos a közelében van-e.
VAGY
A játékos tároljon referenciát az összes szörnyre, és fél másodpercenként fusson végig rajtuk, és ha a közelében van az adott szörny, akkor utasítsa őt, hogy támadja meg a játékost.
csinálhatod triggerrel az ellenőrzést...
https://www.youtube.com/watch?v=HBd-hiDGrrg
rakhatod akármelyikre attól függ mire akarod még használni, mert pl a fal ellenőrzést, vagy valami item ellenőrzést is használhatsz ezzel...
23F
Ha nincs nagyon sok szörnyed(és\vagy nem egy gyenge mobil eszköz a célplatform), akkor teljesen mindegy. Alapvetően minél kevesebb monobehaviour t futtatsz annál jobb, de minimális a teljesítményveszteség, akkor van csak értelme ha sok száz, esetleg több ezer példányról van szó(de akkor meg nem egy távolságmérés lesz a legnagyobb problémád).
A játékoson viszont nem futtatnám, több értelmét látom egy manager osztálynak, átláthatóbb lenne.
#5
Triggerhez egyrészt kell rigidbody(ha eddig nem volt, akkor emiatt teljesen felesleges hozzááadni), másrészt meg ilyen feladatra amúgy is rossz választás - ha a triggeren belül hozol létre egy új objektumot akkor az OnTriggerEnter nem fog lefutni, ez meg erősen sanszos ha menet közben hozza létre az ellenségeket. Na meg lassabb is, mint egy sima távolságmérés.
A játékos utasítja a szörnyet, hogy támadjon rá???
Ezt te komolyan gondoltad?
Majd a végső ütést, úgy kell majd bevinni, hogy utasítja a szörnyet, hogy most ölj meg? :D :D :D
Beszarok...
Többieknek úgy látszik leesett, csak neked nem.
A játékos objektuma meghívja a közelben lévő szörny egyik függvényét, ezzel jelezve neki, hogy bekövetkezett egy esemény (ami az, hogy a közelébe érkezett a játékos)
Ezt úgy hívják errefelé, hogy Event driven architecture.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!