当前位置: 首页 > news >正文

网站开发难学吗红包网站开发

网站开发难学吗,红包网站开发,做宽屏网站,唐山seo排名优化前面几篇文章#xff0c;总算把GE给更新完了#xff0c;GE的基础应用也算讲清楚了。接下来#xff0c;我们将更新GA的相应的课程了#xff0c;首先#xff0c;这一篇先对GA做一个简单的介绍#xff0c;然后实现一下如何实现给角色应用一个GA。 简介 GamplayAbility 简称…前面几篇文章总算把GE给更新完了GE的基础应用也算讲清楚了。接下来我们将更新GA的相应的课程了首先这一篇先对GA做一个简单的介绍然后实现一下如何实现给角色应用一个GA。 简介 GamplayAbility 简称 GA是UE引擎里的GAS内的功能组件它的主要功能包括技能冷却时间CD和技能消耗的管理同时也支持网络同步和实例支持。开发者可以在ActivateAbility事件中编写相关的技能逻辑如角色动作、粒子效果以及角色数值的变动。根据技能是否施展成功可以调用CommitAbility()或EndAbility()来结束技能。 GameplayAbility在UE中的类名为UGameplayAbility它继承于UObject和IGameplayTaskOwnerInterface。UObject是所有UE对象的基类而IGameplayTaskOwnerInterface是一个抽象类代表玩法任务所有者接口。UGameplayAbility通过其丰富的继承关系和函数使得开发者能够灵活地创建和管理游戏中的技能系统。 GA类主要定义攻击或者能力它必须首先被应用给ASC我们将在服务器上执行此操作然后将 GA的spec复制到本地。在使用时必须将其激活Activated如果只应用不激活将不起效果它可以异步运行就是可以同时触发多个技能正常技能它是不能够异步的我们需要使用Ability Task去实现技能异步。 创建GA GA的配置修改是需要在蓝图中进行的我们可以直接通过创建蓝图选择GameplayAbility去创建 但是考虑到后续要为GA增加新的功能我们先通过GameplayAbility创建一个c类然后将其命名为GameplayAbilityBase当做技能的基类用于以后的扩展。 打开代码我们首先找到ASC的基类在基类增加一个函数用于应用技能参数传入一个技能类的数组 void AddCharacterAbilities(const TArrayTSubclassOfUGameplayAbility StartupAbilities);在函数实现这里遍历传入的数组通过参数实例一个spec并应用这里为了方便测试使用GiveAbilityAndActivateOnce函数应用并直接激活。 void UAbilitySystemComponentBase::AddCharacterAbilities(const TArrayTSubclassOfUGameplayAbility StartupAbilities) {for(TSubclassOfUGameplayAbility AbilityClass : StartupAbilities){FGameplayAbilitySpec AbilitySpec FGameplayAbilitySpec(AbilityClass, 1);//GiveAbility(AbilitySpec); //只应用不激活GiveAbilityAndActivateOnce(AbilitySpec); //应用技能并激活一次} }找到角色的基础类CharacterBase添加一个私有属性作为角色初始的技能设置。 private:UPROPERTY(EditAnywhere, CategoryAttributes)TArrayTSubclassOfUGameplayAbility StartupAbilities; //角色初始技能设置在函数实现这里将ASC类型转换为我们创建的ASC基类并调用上面添加技能的函数 void ACharacterBase::AddCharacterAbilities() const {UAbilitySystemComponentBase* ASC CastCheckedUAbilitySystemComponentBase(GetAbilitySystemComponent());if(!HasAuthority()) return; //查询是否拥有网络权限应用技能需要添加给服务器ASC-AddCharacterAbilities(StartupAbilities); }这里技能的设置技能的应用函数就已经实现完毕我们现在只需要在初始化角色的时候调用角色基类身上的AddCharacterAbilities函数即可实现技能的应用。 在英雄角色类里面服务器端初始化函数为PossessedBy我们在内部初始化ASC后调用初始化技能即可。 void AHeroCharacter::PossessedBy(AController* NewController) {Super::PossessedBy(NewController);//初始化ASC的OwnerActor和AvatarActorInitAbilityActorInfo();//设置OwnerActor的ControllerSetOwner(NewController);//初始化角色技能AddCharacterAbilities(); }测试 功能实现了接下来我们要实现对功能的测试首先打开UE创建一个技能蓝图基于我们之前创建的技能类 内部默认有两个函数回调一个是技能被激活后的回调我们可以在后面计算消耗播放动画以及做一些逻辑性的处理 另一个回调事件是技能结束回调可以在技能结束时需要编辑一些逻辑处理 技能的结束需要我们手动去处理在内部调用是用commitAbility节点计算技能消耗是否达标不达标自动结束技能EndAbility节点结束技能或者在外部取消技能 一下是我们实现的一个技能测试蓝图延迟一秒结束技能看是否正常打印 打开英雄角色蓝图发现自定义属性这里多了一项设置技能的数组参数将我们创建的技能蓝图设置上去 接着运行看是否正常打印如果正常打印那证明技能使用测试通过。
http://www.hkea.cn/news/14466350/

相关文章:

  • 上海网站制作推广河南网站建设平台
  • 怎么发布个人网站我想做个网站要多少钱
  • 东凤镇做网站公司沈阳红方城网站建设
  • 最好加盟网站建设php网站颜色改变
  • 如何选择一家好的网站建设公司网页制作培训多少钱一天
  • 做网站用的大图网络营销设计方案
  • 天保建设集团有限公司网站后台管理系统网站模板
  • 微科技h5制作网站做门户网站经验
  • 网站备案期间 搜索引擎乐清建网站
  • 游戏网站代理郑州seo线下培训
  • 常见的网站建设程序有哪些中企邮箱登录入口
  • 没有公众号建微信网站北京网站建设公司分形
  • 网站建设数字的代码编写旅游网站建设与规划
  • 香水网站建设规划书nas 做网站
  • 做盗版影视网站违法吗周口微网站制作
  • 烟台官网首页成都百度网站排名优化
  • 网站ps照片怎么做的网站开发系统流程图
  • 网站主机一般选哪种的长沙0731房地产网
  • 有免费建站的网站宁波seo外包快速推广
  • 做网站功能的框架结构图网站的排版好看
  • cad二次开发网站云南省网站建设收费调查报告论文
  • 暴雪时分电视剧免费观看网站建设包含seo吗
  • 2017年做啥网站致富本地网站怎么建设
  • 360网站弹窗推广怎么做的可以先做网站后备案吗
  • 中国四大门户网站分别是wordpress单点sso
  • 做电商网站需要的证php培训学校网站源码
  • 株洲专业建设网站长春网站改版
  • 中山网站制作网页申请一家公司需要多少钱
  • 湖北省建设工程造价管理协会网站拱墅区哪里有网站建设
  • 莆田外贸网站建设ci策划 网站开发