TimeLine一些思考

TimeLine一些思考

2021年7月12日

1、概念

https://blog.csdn.net/u011397120/article/details/79272551

https://www.shangmayuan.com/a/945b9017934b461ab8bce901.html

 

 

 

1.1.基于时间轴的顺序播放系统

1.2.FEvent实际执行一个Action

1.3.针对一个场景对象实体(TimeLine级),在时间段内,需要播放N种类型的Action(Track级),不同时间同一event传参不同(event)

1.4.一个skill实际上是多个对象实体(TimeLine)的组合(Container级)

下图实质上是我们项目一个Timeline的行为,而不是一个skill

 

 

2、和具体项目结合

2.1项目逻辑为 Init+FixedUpdate。TimeLine则可以把 FSequence 嵌入项目FixedUpdate然后循环下发最后给event update.

2.2 例如FluxSkill.cs :

->FluxSkill fixedUpdate

NinjaSkillManager fixedUpdate ->FluxBullet fixedUpdate

 

  1. ninjaSkill和ninjaBullet流程和之前没有区别,都是在SkillManager进行FixedUpdate

  2. (2)FLuxSkill内有 FSequence数据, FSequence数据负责Skill TimeLine下发到event

(3)skill shoot bullet后,bullet有BulletRunTime,新的FSequence下发event。

因为,我们的skill和bullet是相对独立的个体,需要独立的FSequence。 bullet的初始数据clone自skill。

(4) 我们在制作的时候 skill bullet 的TimeLine在一个UI里只是为了编辑方便。

2.3.交互 :skill和bullet相互通信。(1)直接变量引用 (2)信号 (3)BlackBoard  

 

缺:通过event之间的交互

有owner了  但是每个bullet没有UID

每个Bullet根据State状态去一一对应TimeLine 感觉更好。 

 

 

 

 

 

 

 

改变自己
原文地址:https://www.cnblogs.com/sun-shadow/p/15003913.html