[请益] 动态生成敌人之控制

楼主: 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