UE4学习-UE4结合vs2019混合编程
文章目录
上篇博文里面,已经提到了如何添加C++组件,在场景中添加一个物体,比如门,然后选中门,点击添加组件,添加C++组件即可。然后这里我要提到的是,昨天遇到的问题,vs2019的智能提示,会提示很多错误,导致编码没法继续。
所以今天我只能先找支持vs2019的插件了,常用的还是番茄,比较顺手。
所以我也在资源中上传了支持vs2019的番茄助手。
2积分意思一下。如果小伙伴没有积分,可以给我留言,我发给你噢。
我这里已经使用上了。
所以继续昨天未完成的代码,然后我发现一个问题,我看的视频里面,看到的开门是90,但是我用了90不行,我得用-90,门打开了,但是门不见了。
这是为什么呢,因为门隐藏到墙体里面去了,这是由于我设置的角度不对。这个和我选的轴有关系。
不过我目前还不清楚如何修改整体场景的轴向。
只是多次尝试,知道怎么设置了。我的这个因为正前方轴是y轴,和学习素材里面的轴是x,有90°错位。所以,我的这里z轴0°,是门朝外打开。180都是朝内打开。
然后上代码:
openDoor.h
#pragma once#include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "openDoor.generated.h"class AActor; UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) class MYPROJECT_API UopenDoor : public UActorComponent {GENERATED_BODY()public: // Sets default values for this component's propertiesUopenDoor();protected:// Called when the game startsvirtual void BeginPlay() override;public: // Called every framevirtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;void openDoor();void closeDoor();private:AActor* owner; };openDoor.cpp
#include "openDoor.h" #include "GameFramework/Actor.h"// Sets default values for this component's properties UopenDoor::UopenDoor() {// Set this component to be initialized when the game starts, and to be ticked every frame. You can turn these features// off to improve performance if you don't need them.PrimaryComponentTick.bCanEverTick = true;owner = GetOwner(); }// Called when the game starts void UopenDoor::BeginPlay() {Super::BeginPlay();openDoor(); }// Called every frame void UopenDoor::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) {Super::TickComponent(DeltaTime, TickType, ThisTickFunction);// ... }void UopenDoor::openDoor() {// pitch=y yaw=z roll=xFRotator newRotator = FRotator(0, 0, 0); /* FRotator newRotator = FRotator(0, 180, 0);*/owner->SetActorRotation(newRotator); }void UopenDoor::closeDoor() {// pitch=y yaw=z roll=xFRotator newRotator = FRotator(0, 90, 0);owner->SetActorRotation(newRotator); }代码中 FRotator(0, 0, 0); 表示门朝外,FRotator(0, 180, 0); 表示门朝内。
每次修改了代码,都需要编译噢。编译以后,点击运行,进入场景,就能看到门的状态变化噢。
需要编译,运行,记住噢。
但是我上传的资源 番茄10.9_vs2019.rar 还没有审核通过,我明天再把对应的链接补上。或者小伙伴可以关注我,在我的资源里面找就好。我现在的资源不多,一下就能找到噢。
今天把资源链接给补上了:支持vs2019的番茄插件,点下面链接进入下载界面。
番茄10.9_vs2019.rar
番茄10.9_vs2019.rar
这里给大家推荐一篇博文:VS2019使用以及UE4的代码调试
VS2019使用以及UE4的代码调试
总结
以上是生活随笔为你收集整理的UE4学习-UE4结合vs2019混合编程的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: UE4学习-新建C++组件、编码遇到问题
- 下一篇: UE4学习-添加机关并添加代码控制