[UE4]逻辑状态机组件

本文介绍了在UE4中如何实现逻辑状态机,通过继承ActorComponent创建LogicStateMachine,当受到打击时切换状态,并在状态变化时触发相应事件。详细讲述了主要代码结构,包括LogicStateMachine.h和LogicStateMachine.cpp,以及蓝图的使用方式。
摘要由CSDN通过智能技术生成

逻辑状态机

为了实现对目标状态的控制,以及广播改变状态后的事件,可在蓝图中继续处理不同状态下的行为。

实现过程:

1.继承ActorComponent实现LogicStateMachine;

2.被击中时触发设置状态;

3.状态进入/退出时触发事件。

主要代码

LogicStateMachine.h

/*
*author : Jia Zhipeng
*class : LogicStateMachine
*/
//use enum metadata to save priority
UENUM(BlueprintType)
enum LogicStateEnum
{
	LS_Default = 0 	UMETA(DisplayName = "Default", Priority = 1),
	LS_Frozen	UMETA(DisplayName = "Frozen", Priority = 1),
	LS_Fly 	UMETA(DisplayName = "Fly", Priority = 1),
	LS_OnGround 	UMETA(DisplayName = "OnGround", Priority = 1),
	LS_Faint 	UMETA(DisplayName = "Faint", Priority = 1),
	LS_Back		UMETA(DisplayName = "Back", Priority = 1),
	LogicStateNum  UMETA(Hidden),
};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FChangeStateSignature, LogicStateEnum, LogicState);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值