作者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/cn.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