/ / Riadenie prevádzky v 2D staviteľ mesta - 2d, simulácia, prevádzka, izometrické

Riadenie prevádzky v 2D mestskom staviteľovi - 2d, simulácia, prevádzka, izometrická

Vytváram 2D ​​izometrickú budovu mestasimulácia a dnes mám otázku "najlepších postupov" bez toho, aby som požadoval konkrétny kód. Rovnako ako vo všetkých mestských stavebných hrách môžete umiestniť stavby, cesty a tak ďalej. Hráč je schopný umiestniť budovu všade, bez ohľadu na to, či je pripojený k ceste alebo nie. Okrem toho je tu jedna budova (nazývame ju centrum budovu), s ktorými musia byť všetky budovy spojené (po ceste). Musím to zvládnuť bez príliš veľa výpočtov, ktoré porušujú FPS.

Práve teraz mám prácu s časovačom pre každú budovuktorý kontroluje, či je jedna z obklopených dlaždíc budovy ceste. To funguje dobre, aj pre veľa budov, pretože kontrola je jednoduchá. Teraz by som však chcel overiť spojenie so stredovou budovou. Ak chcete skontrolovať, či je potrebné (podľa môjho názoru) použiť niečo ako priekopník, ktorý kontroluje, či jedna z obklopených dlaždíc má cestné spojenie s jednou z obklopených dlaždíc centra budovy. Nemôžem to skontrolovať často, pretože to úplne rozbije FPS až na 30 alebo menej. Mojou myšlienkou bolo vypáliť udalosť, ak bola vybudovaná alebo zničená cesta na "prepočítanie" cestného spojenia. Ale príde ďalší problém ... Hráč by mohol zničiť cestu v strede mapy a budovy sú naozaj ďaleko od seba, takže musím nájsť príslušné budovy, ktoré by mohli trvať príliš veľa času.

Moja posledná myšlienka je vytvoriť niečo ako frontu časovača a pracovať s týmito položkami postupne, ale skôr než budem používať metódu pokusu a omylov, chcel by som vás požiadať o nápady.

Skutočne sa tešíme na vaše nápady! Yheeky

odpovede:

0 pre odpoveď č. 1

Mohli by ste mať každý stavebný sklad zoznamdlaždice (cesta), ktorá ju spája so stredovou budovou. Potom, keď prehrávač náhodne zlikviduje dlaždice, môžete každú budovu testovať, aby ste zistili, či sa táto dlažba poškodila alebo nie.

Prípadne môžete mať každý sklad dlaždícktoré stavby to vyžadujú, takže keď je dlažba zničená, máte budovy ihneď hodiť vlajky. To by mohlo byť dosť nepríjemné, ale prisúdi slušne k volaniu na rýchle vyčistenie.

Obe metódy sú celkom nepríjemné. Pravdepodobne môžete urobiť pravidlo, že hráč nemôže umiestniť cesty okrem iných ciest alebo vedľa centra budovy. Potom, keď prehrávač vymaže cestnú dlažbu, urobte náplň farby, ktorá ničí všetky odpojené cesty. Môžete tiež pravidelne vykonávať náhodnú kontrolu dlaždíc, aby ste zistili, či sú nelegálne umiestnené alebo nie, ale to by malo byť zbytočné, ak budete opatrní.