文章目录
一、眩晕(Stun)
一般在眩晕状态时, 我们就要取消Character所有已激活的GameplayAbility
, 阻止新的GameplayAbility
激活, 并在整个眩晕期间阻止移动. 样例项目的陨石GameplayAbility
会在击中的目标上应用眩晕效果.
为了取消目标活跃的GameplayAbility
, 可以在眩晕[GameplayTag
添加]时调用AbilitySystemComponent->CancelAbilities()
.
为了在眩晕时阻止新的GameplayAbility
激活, 可以在GameplayAbility
的[Activation Blocked Tags GameplayTagContainer]中添加眩晕GameplayTag
.
为了在眩晕时阻止移动, 我们可以在拥有者拥有眩晕GameplayTag
时重写CharacterMovementComponent
的GetMaxSpeed()
函数以返回0.
二、 奔跑(Sprint)
样例项目提供了一个如何奔跑的例子 —— 按住左Shift时跑得更快.
更快的移动由CharacterMovementComponen