DAY15

UE4学习

蓝图

可以将蓝图看作一个封装好的函数,整个函数的代码以节点的形式展现。蓝图之间通过输入参数和输出参数相连接。当前蓝图的输入参数是前一个蓝图的输出参数,当前蓝图的输出参数是后一个蓝图的输入参数。

蓝图的创建

1.在内容浏览器的任意位置右键创建蓝图

2.选取父类

这个默认组件只是为了占位用的,拖动组件到父组件可以替代掉默认组件。如果是普通组件会交换父子关系。

细节框架是描述你选中的东西的

这两条线变成黄色说明是在水平面上移动的

创建c++类

可以在文件的下方选择创建c++类,也可以直接在c++文件夹下右击创建

c++类与蓝图类的互动

复制代码
UCLASS(Blueprintable)
// 只有加了这一行代码,c++来才能生成蓝图类
cpp 复制代码
UCLASS(Blueprintable)
class STUDY1_API UMyObject : public UObject
{
    GENERATED_BODY()
    
public:
    UMyObject();
​
    UPROPERTY(BlueprintReadWrite)
    float num;
​
    UFUNCTION(BlueprintCallable)
    void Func();
};
#include "MyObject.h"
​
UMyObject::UMyObject()
{}
​
​
void UMyObject::Func()
{
    num = 1.0;
}

然后在BP_Actor类中先声明一个变量将变量类型改为自己创建的类之后创建对象,再调用该类的函数

右击搜索Construct

就将蓝图和c++联系到了一起

其他小细节

变量num是在My Object下面

如果加上下面这个代码

复制代码
UPROPERTY(BlueprintReadWrite,Category = "MyFunc")
UFUNCTION(BlueprintCallable,Category = "MyVariables")
相关推荐
无敌最俊朗@20 小时前
C++-Qt-音视频-基础问题01
开发语言·c++
折戟不必沉沙20 小时前
C++四种类型转换cast,其在参数传递时的作用
c++
kyle~20 小时前
C++---万能指针 void* (不绑定具体数据类型,能指向任意类型的内存地址)
开发语言·c++
誰能久伴不乏20 小时前
Linux 进程通信与同步机制:共享内存、内存映射、文件锁与信号量的深度解析
linux·服务器·c++
_F_y21 小时前
C++异常
c++
小龙报21 小时前
《算法通关指南:算法基础篇 --- 一维前缀和 — 1. 【模板】一维前缀和,2.最大子段和》
c语言·数据结构·c++·算法·职场和发展·创业创新·visual studio
郝学胜-神的一滴21 小时前
Effective STL 第9条:C++容器元素删除技巧详解
开发语言·c++·程序人生·stl
Ma_Hong_Kai21 小时前
带复选框的combox
c++·mfc
syker1 天前
太极指令集架构(TCIS)v1.1与主流指令集比较研究报告
c++·架构
jf加菲猫1 天前
第1章 认识Qt
开发语言·c++·qt·ui