本人刚接触unity引擎,给怪物做了个自动开火系统,在每个fixedupdate检查各个武器cd是否<=0,如果满足条件就开火。现在有一个问题
因为我的自动开火和减cd都在fixedupdate函数里执行,武器是单独的script,那么有可能武器系统的fixedupdate比武器的fixedupdate先执行,那么就可能导致明明这一帧cd到了,结果先开火,武器的cd还没减。导致没有开火成功,而另一些武器的fixedupdate比自动开火先执行就开火成功了。这样一些本该同时开火的武器因为执行顺序的问题开火时间相差了一帧。
于是我想了解一下unity中各个gameObject的更新顺序,是否父亲一定比子对象先执行。或者说我可以把减cd放到update里面去?
不知道还有什么好一点的办法吗。谢谢
因为我的自动开火和减cd都在fixedupdate函数里执行,武器是单独的script,那么有可能武器系统的fixedupdate比武器的fixedupdate先执行,那么就可能导致明明这一帧cd到了,结果先开火,武器的cd还没减。导致没有开火成功,而另一些武器的fixedupdate比自动开火先执行就开火成功了。这样一些本该同时开火的武器因为执行顺序的问题开火时间相差了一帧。
于是我想了解一下unity中各个gameObject的更新顺序,是否父亲一定比子对象先执行。或者说我可以把减cd放到update里面去?
不知道还有什么好一点的办法吗。谢谢
