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++组件、编码遇到问题
- 下一篇: 学生党福音 Redmi小金刚Note 1