作者Alex548291 (ARS·L)
看板GameDesign
標題[請益] 動態生成敵人之控制
時間Fri Dec 11 20:42:07 2020
抱歉 忘了先說 是使用Unity製作
各位大大晚安
這學期因為修課的關係 需要寫出一個遊戲
今天在寫某個小怪可以隨機生成怪物
暫且叫他spawn egg
可是我想限制生成在某個數量內 並且可動態調整
我目前spawn egg中不斷生成怪物
是使用動畫的事件來實現
然後這個spawn egg與其他小怪都繼承自一個abstract class
用以控制一些基本小怪共有的參數
(例如:血量小於0會摧毀怪物也寫在這裡面)
我的問題是我該怎麼樣確認spawn egg生成出來的怪物被我消滅
從而達到控制其最多的生成
(比如說我最多想生成3隻怪物 玩家若消滅其中一隻 spawn egg會再生出一隻填補他)
不知道這樣打清不清楚 先感謝各位了
-----
Sent from JPTT on my Samsung SM-A515F.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.172.184 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1607690529.A.3C1.html
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/11/2020 20:45:08
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/11/2020 20:46:55
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/11/2020 20:48:24
1F:→ foxofking: 我程式菜鳥。EGG生出的怪套個tag,再用find指令抓數量 12/11 20:53
2F:→ foxofking: 然後用range指令限制給EGG如何? 12/11 20:54
3F:→ foxofking: 打錯,不是用RANGE,用if判斷式之類的 12/11 20:58
感謝回覆 Find可以找數量嗎?有沒有完整的API呢?感恩
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/11/2020 21:16:01
4F:推 death123456: 用一個List怪物出生就丟進去 死掉就拿出來 然後count 12/11 21:35
感恩 我查一下List
5F:→ death123456: 小於x就生怪 大概就這種概念 只是可以再更嚴謹一點 12/11 21:35
6F:推 death123456: 啊 仔細看問題後 你應該要有一個egg manager之類的東 12/11 21:36
7F:→ death123456: 西來控制生怪 怪物死亡之類的腳本 12/11 21:36
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/11/2020 21:39:16
8F:推 SecondRun: 你可以讓spawn egg去跟manager要資料 12/12 01:26
感謝 我一開始的確有讓怪物嘗試access spawn egg的生怪數量 可能是我太菜了 換了好幾種寫法都沒成功 不過感謝回答 晚點來試試
9F:→ SecondRun: 或者讓spawn的怪物都有egg的資料 死掉時通知egg 12/12 01:27
10F:推 LayerZ: 你應該要做個主控端,EggManager或是EggFactory,生怪紀錄 12/12 02:27
ok 意思是spawn egg別跟一般怪物一樣繼承同一個abstract class而是額外去處理他們的死亡機制嗎?
11F:→ LayerZ: 死亡就回來這邊做死亡處理 12/12 02:27
12F:→ ZooseWu: 同意樓上 在Start跟manager新增 ondestroy時減少 12/12 04:36
感謝 我查一下這個API
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/12/2020 10:13:18
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/12/2020 10:14:07
※ 編輯: Alex548291 (1.200.172.184 臺灣), 12/12/2020 10:15:36
13F:推 death123456: Manager我個人會使用Singleton寫 比較簡單好上手 另 12/12 17:12
14F:→ death123456: 外可以試著使用物件池Objectpool的概念作怪物子彈等 12/12 17:12
15F:→ death123456: 等需要重複生成的物件 這個是效能處理很基本的東西 12/12 17:12
16F:→ death123456: 以後一定會用到 12/12 17:12