[請益] 動態生成敵人之控制

作者: Alex548291 (ARS·L)   2020-12-11 20:42:07
抱歉 忘了先說 是使用Unity製作
各位大大晚安
這學期因為修課的關係 需要寫出一個遊戲
今天在寫某個小怪可以隨機生成怪物
暫且叫他spawn egg
可是我想限制生成在某個數量內 並且可動態調整
我目前spawn egg中不斷生成怪物
是使用動畫的事件來實現
然後這個spawn egg與其他小怪都繼承自一個abstract class
用以控制一些基本小怪共有的參數
(例如:血量小於0會摧毀怪物也寫在這裡面)
我的問題是我該怎麼樣確認spawn egg生成出來的怪物被我消滅
從而達到控制其最多的生成
(比如說我最多想生成3隻怪物 玩家若消滅其中一隻 spawn egg會再生出一隻填補他)
不知道這樣打清不清楚 先感謝各位了
作者: foxofking (Jnano)   2020-12-11 20:53:00
我程式菜鳥。EGG生出的怪套個tag,再用find指令抓數量然後用range指令限制給EGG如何?打錯,不是用RANGE,用if判斷式之類的
作者: death123456 (一手啤酒)   2020-12-11 21:35:00
用一個List怪物出生就丟進去 死掉就拿出來 然後count小於x就生怪 大概就這種概念 只是可以再更嚴謹一點啊 仔細看問題後 你應該要有一個egg manager之類的東西來控制生怪 怪物死亡之類的腳本
作者: SecondRun (雨夜琴聲)   2020-12-12 01:26:00
你可以讓spawn egg去跟manager要資料或者讓spawn的怪物都有egg的資料 死掉時通知egg
作者: LayerZ (無法如願)   2020-12-12 02:27:00
你應該要做個主控端,EggManager或是EggFactory,生怪紀錄死亡就回來這邊做死亡處理
作者: ZooseWu (N5)   2020-12-12 04:36:00
同意樓上 在Start跟manager新增 ondestroy時減少
作者: death123456 (一手啤酒)   2020-12-12 17:12:00
Manager我個人會使用Singleton寫 比較簡單好上手 另外可以試著使用物件池Objectpool的概念作怪物子彈等等需要重複生成的物件 這個是效能處理很基本的東西以後一定會用到

Links booklink

Contact Us: admin [ a t ] ucptt.com