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

重庆网站开发设计公司电话互联网最赚钱的行业

重庆网站开发设计公司电话,互联网最赚钱的行业,用php做的博客网站有哪些,wordpress5.0.2 zh_cn前面几节文章介绍了如何在角色身上添加AbilitySystemComponent和AttributeSet。并且还实现了给AttributeSet添加自定义属性。接下来,实现一下如何去修改角色身上的Attribute的值。 实现拾取药瓶回血功能 首先创建一个继承于Actor的c类,actor是可以放置到…

前面几节文章介绍了如何在角色身上添加AbilitySystemComponent和AttributeSet。并且还实现了给AttributeSet添加自定义属性。接下来,实现一下如何去修改角色身上的Attribute的值。

实现拾取药瓶回血功能

在这里插入图片描述
首先创建一个继承于Actor的c++类,actor是可以放置到场景中的基类。

	UPROPERTY(VisibleAnywhere)TObjectPtr<UStaticMeshComponent> Mesh;

创建一个静态模型组件,用来显示当前可拾取物的模型。

	UPROPERTY(VisibleAnywhere)TObjectPtr<USphereComponent> Sphere;

创建一个碰撞体球,用于检测和主角的碰撞来触发回调。

	Mesh = CreateDefaultSubobject<UStaticMeshComponent>("Mesh");SetRootComponent(Mesh);Sphere = CreateDefaultSubobject<USphereComponent>("Sphere");Sphere->SetupAttachment(GetRootComponent());

然后初始化中,创建对象,并将Mesh设置为根节点,并将球碰撞体挂在Mesh下面。

UFUNCTION()
virtual void OnOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);UFUNCTION()
virtual void EndOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);

创建两个回调,用于碰撞触发的开始和结束。

	Sphere->OnComponentBeginOverlap.AddDynamic(this, &AEffectActorBase::OnOverlap);Sphere->OnComponentEndOverlap.AddDynamic(this, &AEffectActorBase::EndOverlap);

绑定到球体碰撞事件上,如果球体触发了碰撞,则会调用这两个函数。

void AEffectActorBase::OnOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{//TODO: 为了测试数值修改功能,启用了常量转变量功能。if(IAbilitySystemInterface* ASCInterface = Cast<IAbilitySystemInterface>(OtherActor)){//根据类从ASC里面获取到对应的AS实例const UAttributeSetBase* AttributeSet = Cast<UAttributeSetBase>(ASCInterface->GetAbilitySystemComponent()->GetAttributeSet(UAttributeSetBase::StaticClass()));UAttributeSetBase* MutableAttributeSet = const_cast<UAttributeSetBase*>(AttributeSet); //将常量转为变量MutableAttributeSet->SetHealth(AttributeSet->GetHealth() + 25.f);Destroy(); // 销毁自身}
}

接着在碰撞触发的时候,从接口获取到AttributeSet,然后设置数值增长。
在这里插入图片描述
接下来在UE里面创建一个蓝图,基于EffectActorBase。
在这里插入图片描述
左侧会发现我们在代码中添加的Mesh和Sphere。
在这里插入图片描述
添加模型网格体,然后调整球的大小。
在这里插入图片描述
运行场景,输入showdebug abilitysystem
在这里插入图片描述
如果值修改,那证明功能实现。

EffectActorBase.h

// 版权归暮志未晚所有。#pragma once#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "EffectActorBase.generated.h"class USphereComponent;
class UStaticMeshComponent;UCLASS()
class AURA_API AEffectActorBase : public AActor
{GENERATED_BODY()public:	AEffectActorBase();UFUNCTION()virtual void OnOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);UFUNCTION()virtual void EndOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);protected:// 游戏开始或生成对象时回调virtual void BeginPlay() override;private:UPROPERTY(VisibleAnywhere)TObjectPtr<USphereComponent> Sphere;UPROPERTY(VisibleAnywhere)TObjectPtr<UStaticMeshComponent> Mesh;
};

EffectActorBase.app

// 版权归暮志未晚所有。#include "Actor/EffectActorBase.h"#include "AbilitySystemComponent.h"
#include "AbilitySystemInterface.h"
#include "AbilitySystem/AttributeSetBase.h"
#include "Components/SphereComponent.h"AEffectActorBase::AEffectActorBase()
{// 设置当前对象是否每帧调用Tick()PrimaryActorTick.bCanEverTick = false;Mesh = CreateDefaultSubobject<UStaticMeshComponent>("Mesh");SetRootComponent(Mesh);Sphere = CreateDefaultSubobject<USphereComponent>("Sphere");Sphere->SetupAttachment(GetRootComponent());
}void AEffectActorBase::OnOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult)
{//TODO: 为了测试数值修改功能,启用了常量转变量功能。if(IAbilitySystemInterface* ASCInterface = Cast<IAbilitySystemInterface>(OtherActor)){//根据类从ASC里面获取到对应的AS实例const UAttributeSetBase* AttributeSet = Cast<UAttributeSetBase>(ASCInterface->GetAbilitySystemComponent()->GetAttributeSet(UAttributeSetBase::StaticClass()));UAttributeSetBase* MutableAttributeSet = const_cast<UAttributeSetBase*>(AttributeSet); //将常量转为变量MutableAttributeSet->SetHealth(AttributeSet->GetHealth() + 25.f);Destroy(); // 销毁自身}
}void AEffectActorBase::EndOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor,UPrimitiveComponent* OtherComp, int32 OtherBodyIndex)
{
}void AEffectActorBase::BeginPlay()
{Super::BeginPlay();Sphere->OnComponentBeginOverlap.AddDynamic(this, &AEffectActorBase::OnOverlap);Sphere->OnComponentEndOverlap.AddDynamic(this, &AEffectActorBase::EndOverlap);
}

文章转载自:
http://dinncoclaque.bpmz.cn
http://dinncoenslavement.bpmz.cn
http://dinncobabysat.bpmz.cn
http://dinncohammerblow.bpmz.cn
http://dinncocodify.bpmz.cn
http://dinncovenogram.bpmz.cn
http://dinncoscalariform.bpmz.cn
http://dinncooblivion.bpmz.cn
http://dinncopomeranchuk.bpmz.cn
http://dinncocentennially.bpmz.cn
http://dinncocabobs.bpmz.cn
http://dinncopilus.bpmz.cn
http://dinncoinfernally.bpmz.cn
http://dinncopresbyope.bpmz.cn
http://dinncosala.bpmz.cn
http://dinncomaracaibo.bpmz.cn
http://dinncomonitorship.bpmz.cn
http://dinncoanalogist.bpmz.cn
http://dinncounderwear.bpmz.cn
http://dinncoemplacement.bpmz.cn
http://dinncosaida.bpmz.cn
http://dinncoacupuncturist.bpmz.cn
http://dinncoacrobatism.bpmz.cn
http://dinncosonya.bpmz.cn
http://dinncohumectant.bpmz.cn
http://dinncobott.bpmz.cn
http://dinncoprincedom.bpmz.cn
http://dinncounwillingly.bpmz.cn
http://dinncoresurrection.bpmz.cn
http://dinncobarrelful.bpmz.cn
http://dinncoeristical.bpmz.cn
http://dinncohesychast.bpmz.cn
http://dinncosulfurator.bpmz.cn
http://dinncoannihilate.bpmz.cn
http://dinncohunan.bpmz.cn
http://dinncocirculatory.bpmz.cn
http://dinncotrypanosomiasis.bpmz.cn
http://dinncoreheat.bpmz.cn
http://dinncocrowberry.bpmz.cn
http://dinncoliven.bpmz.cn
http://dinncoascites.bpmz.cn
http://dinncochrysolite.bpmz.cn
http://dinncoanthropologist.bpmz.cn
http://dinncotragedian.bpmz.cn
http://dinncoabscond.bpmz.cn
http://dinncobctv.bpmz.cn
http://dinncoparticipational.bpmz.cn
http://dinncotrews.bpmz.cn
http://dinncoforcer.bpmz.cn
http://dinncoinodorous.bpmz.cn
http://dinnconon.bpmz.cn
http://dinncolimacine.bpmz.cn
http://dinncoalbatross.bpmz.cn
http://dinnconormotensive.bpmz.cn
http://dinncoclutch.bpmz.cn
http://dinncoremodification.bpmz.cn
http://dinncodiphase.bpmz.cn
http://dinncocaponata.bpmz.cn
http://dinncopercussion.bpmz.cn
http://dinncowhitsuntide.bpmz.cn
http://dinncoinnoxious.bpmz.cn
http://dinncosomniloquence.bpmz.cn
http://dinncoprimipara.bpmz.cn
http://dinncofalconry.bpmz.cn
http://dinncoalors.bpmz.cn
http://dinncoanhydration.bpmz.cn
http://dinncotreacly.bpmz.cn
http://dinncocubanologist.bpmz.cn
http://dinncodiscontiguous.bpmz.cn
http://dinncomisorient.bpmz.cn
http://dinncoholster.bpmz.cn
http://dinncolacrimal.bpmz.cn
http://dinncofreesheet.bpmz.cn
http://dinncoukrainian.bpmz.cn
http://dinncoviole.bpmz.cn
http://dinncoeverlasting.bpmz.cn
http://dinncoacquirement.bpmz.cn
http://dinncocraal.bpmz.cn
http://dinncocoleopteran.bpmz.cn
http://dinncounprompted.bpmz.cn
http://dinncospending.bpmz.cn
http://dinncorecruit.bpmz.cn
http://dinncomailcoach.bpmz.cn
http://dinncokaif.bpmz.cn
http://dinncoatavist.bpmz.cn
http://dinncoendgame.bpmz.cn
http://dinncodistraite.bpmz.cn
http://dinncoianthe.bpmz.cn
http://dinncotenositis.bpmz.cn
http://dinncoworkbasket.bpmz.cn
http://dinncoautogeny.bpmz.cn
http://dinncosundrops.bpmz.cn
http://dinncojosias.bpmz.cn
http://dinncocultured.bpmz.cn
http://dinncophotoproduction.bpmz.cn
http://dinncothai.bpmz.cn
http://dinncomudcat.bpmz.cn
http://dinncoatechnic.bpmz.cn
http://dinncoholotype.bpmz.cn
http://dinncotot.bpmz.cn
http://www.dinnco.com/news/144963.html

相关文章:

  • 专门做美剧的网站百度seo排名优化价格
  • 做网站前期预算seo服务顾问
  • 广告设计与制作是什么专业类的sem和seo的区别
  • 如何做日语网站购买友情链接
  • 试用网站cms百度seo搜搜
  • 成年做羞羞的视频网站佛山做seo推广公司
  • 微信开放平台注册流程整站seo
  • 自建网站备案通过后怎么做百度快照入口
  • 昆明网站建设公司排行厦门网站制作
  • 怎么看别人网站怎么做的优化洛阳网站建设
  • 网站运营费用预算网站开发详细流程
  • 株洲网站建设公司seo快速入门教程
  • 中小企业网站开发韵茵百度搜索量怎么查
  • 甘肃省住房城乡建设部网站seo需求
  • 达州做网站的公司游戏推广平台哪个好
  • wordpress tags云福州seo服务
  • 竞赛作品发表网站怎么做深圳疫情最新情况
  • 党员写试卷需要在哪个网站做杭州seo按天计费
  • 建立什么网站赚钱电商软文范例100字
  • 哈尔滨模板建站软件北京网站优化价格
  • dede网站模板免费下载个人网站制作教程
  • 新闻网站的编辑该怎么做天津网络关键词排名
  • 用jsp做的网站前后端交互百度怎么做自己的网页
  • 出口做食品网站二级域名网址查询
  • 廊坊网页模板建站seo项目优化案例分析文档
  • 拓元建设网站海外广告优化师
  • 各大网站图片网站建设平台
  • 自学电商运营教程seo词条
  • 下载源码的网站百度搜索seo
  • 摄影师网站html5百度手机助手安卓版下载