1.描述: 使用三种子弹发射系统实现子弹的发射。如图所示: 2.需求分析: 1.系统A:按键触发子弹从主角类位置发射。 2.系统B:按键触发放置的子弹发射。 3.系统C:按键触发放置的子弹发射。 4.发射按键触发。 3.功能实现: 1.基于Actor类创建蓝图→添加网格体组件→添加发射组件→生成类。如图所示: 2.基于Actor类创建蓝图→添加网格体组件→添加发射自定义事件→设置网格体物理线性速度→获取类中的自定义事件。如图所示: 3.基于Actor类创建蓝图→添加网格体组件→添加球体碰撞组件→添加发射自定义事件→添加时间轴循环设置该类的位置→利用碰撞组件与网格体组件的位置作为插值→获取类中的自定义事件。如图所示: 4.系统A生成子弹类→系统B,系统C触发子弹类发射函数。如图所示: 4.开发注意: 三个发射系统的使用应注意子弹的物理,碰撞,重力的预设。 5.优化总结: 1.系统A:使用发射组件来驱动子弹的发射,人物类中生成子弹类来驱动子弹的生成。 2.系统B:使用自定义中设置网格体的物理线性速度来驱动子弹的发射。 3.系统C:使用时间轴循环设置子弹类的位置来驱动子弹的发射。