虚幻引擎UE5专用服务器游戏开发-32 使用Gameplay Tags阻止连招触发

目标:我们上节用GameplayAbility使角色可以连击攻击,但是,当不断的按下鼠标左键时,蒙太奇动画又重新开始播放,使得动画很怪异,现在要解决这个问题,当蒙太奇播放时,再按鼠标左键时,蒙太奇不会重新播放.

方法:可以使用标签功能

方法一:蓝图标签设置

打开蓝图:/All/Game/Character/Crunch/GameplayAbility/Combo:

GA_Combo_Crunch_BP

资产标签选择:

用标签阻止能力:

效果:

方法二:C++添加标签

Source/Crunch/Public/GAS/CAbilitySystemStatics.h:

cpp 复制代码
// Copyright@ChenChao

#pragma once

#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "CAbilitySystemStatics.generated.h"

/**
 * 
 */

UCLASS()
class CRUNCH_API UCAbilitySystemStatics : public UBlueprintFunctionLibrary
{
	GENERATED_BODY()
public:
	static FGameplayTag GetBasicAttackAbilityTag();
};

Source/Crunch/Private/GAS/CAbilitySystemStatics.cpp:

cpp 复制代码
// Copyright@ChenChao


#include "GAS/CAbilitySystemStatics.h"

FGameplayTag UCAbilitySystemStatics::GetBasicAttackAbilityTag()
{
	return FGameplayTag::RequestGameplayTag(FName("Ability.BasicAttack"));
}

我们在Config/DefaultGameplayTags.ini中添加标签:

cpp 复制代码
;METADATA=(Diff=true, UseCommands=true)
[/Script/GameplayTags.GameplayTagsSettings]
ImportTagsFromConfig=True
WarnOnInvalidTags=True
ClearInvalidTags=False
AllowEditorTagUnloading=True
AllowGameTagUnloading=False
FastReplication=False
bDynamicReplication=False
InvalidTagCharacters="\"\',"
NumBitsForContainerSize=6
NetIndexFirstBitSegment=16
+GameplayTagList=(Tag="Ability.BasicAttack",DevComment="基础攻击")

Source/Crunch/Public/GAS/GameplayAbility/GA_Combo.h:

构造函数添加标签:

cpp 复制代码
public:
	UGA_Combo();

Source/Crunch/Private/GAS/GameplayAbility/GA_Combo.cpp:

cpp 复制代码
UGA_Combo::UGA_Combo()
{
	AbilityTags.AddTag(UCAbilitySystemStatics::GetBasicAttackAbilityTag());
	BlockAbilitiesWithTag.AddTag(UCAbilitySystemStatics::GetBasicAttackAbilityTag());
}
相关推荐
开发者驿站13 分钟前
2025年保姆级C++环境配置教程(Windows/macOS双平台)
c++·windows·macos
2501_9291576814 分钟前
「IOS苹果游戏」600个
游戏·ios
辰尘_星启21 分钟前
『CMake』关于使用CMake构建项目时的现代/传统指令
c++·架构·系统·cmake·项目·构建
曹勖之44 分钟前
使用 Datasmith 将 Rhino 模型导入 Unreal Engine 5(UE5)
ue5
AA陈超1 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-13 属性菜单 - 边框值
c++·游戏·ue5·游戏引擎·虚幻
曹勖之1 小时前
UE5中的sim3dSceneCap中视角亮度怎么调节?
3d·ue5
姝孟1 小时前
C++学习——类与对象详细知识点总结
c++·笔记·学习
2501_929157682 小时前
【安卓+PC+IOS】psp全中文游戏+高清纹理包+金手指
android·游戏·ios
小龙报2 小时前
《算法通关指南之C++编程篇(5)----- 条件判断与循环(下)》
c语言·开发语言·c++·算法·visualstudio·学习方法·visual studio
郝学胜-神的一滴2 小时前
C++ STL(标准模板库)深度解析:从基础到实践
linux·服务器·开发语言·c++·算法