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 properties
	UopenDoor();

protected:
	// Called when the game starts
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual 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=x
	FRotator newRotator = FRotator(0, 0, 0);
/*	FRotator newRotator = FRotator(0, 180, 0);*/
	owner->SetActorRotation(newRotator);
}

void UopenDoor::closeDoor()
{
	// pitch=y yaw=z roll=x
	FRotator 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的代码调试

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1、本课程是一个干货课程,主要讲解如何封装服务器底层,使用Tcp/ip长连接,IDE使用vs2019 c++开发以及使用c++11的一些标准,跨平台windows和linux,服务器性能高效,单服务器压力测试上万无压力,服务器框架是经历过上线产品的验证,框架简单明了,不熟悉底层封装的人,半个小时就能完全掌握服务器框架上手写业务逻辑。2、本课程是一个底层服务器框架教程,主要是教会学员在windows或linux下如何封装一个高效的,避免踩坑的商业级框架,服务器底层使用初始化即开辟内存的技术,使用内存池,服务器运行期间内存不会溢出,非常稳定,同时服务器使用自定义哈希hashContainer,在处理新的连接,新的数据,新的封包,以及解包,发包,粘包的过程,哈希容器性能非常高效,增、删、查、改永远不会随着连接人数的上升而降低性能,增、删、查、改的复杂度永远都是恒定的O(1)。3、服务器底层封装没有使用任何第三方网络库以及任何第三方插件,自由度非常的高,出了任何BUG,你都有办法去修改,查找问题也非常方便,在windows下使用iocp,linux下使用epoll.4、讲解c++纯客户端,主要用于服务器之间通信,也就是说你想搭建多层结构的服务器,服务器与服务器之间使用socket通信。还可以使用c++客户端做压力测试,开辟多线程连接服务器,教程提供了压力测试,学员可以自己做压力测试服务器性能。5、赠送ue4和unity3d通信底层框架以及多人交互demo,登录,注册,玩家离开,同步主要是教会学员服务器与客户端如何交互。6、赠送c++连接mysql数据库框架demo,登录,注册,玩家离开数据持久化.7、服务器教程使用自定义通信协议,同时也支持protobuf,选择权在开发者自己手里,想用什么协议都可以,自由度高。8、服务器教程使用手动敲代码逐句讲解的方式开展教学课程。非喜勿喷,谢谢大家。9、服务器教程提供源码,大家可以在平台提供的地址下载或者联系我,服务器使用c++11部分标准,std::thread,条件变量,线程锁,智能指针等,需要学员具备一定c++知识,购买前请慎重考虑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值