//边学边更新
UE4中的数据类型:
FString 字符串
float 浮点型
在Output调试:
UE_LOG(LogTemp, Warning, TEXT("Your message"));//快速使用
在当前屏幕视口中打印:
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("Message"));//首参数-1,表示无需更新或刷新此消息,第二个参数表示持续时间
暴露属性和方法给蓝图:
UPROPERTY(参数1,参数2)
UFUNCTION(参数2,Category="类别名")
参数1:
EditAnywhere 此属性可以通过属性窗口,原型和实例进行编辑(原型指的是类模板,实例指的是具体的对象实例)
参数2:
BlueprintReadWrite 设置属性为蓝图读写。会在蓝图脚本中为被修饰的变量提供 Get 和 Set 方法
BlueprintReadOnly 设置属性为蓝图只读。会在蓝图脚本中为被修饰的变量提供 Get 方法,没有 Set 方法
BlueprintImplementableEvent 触发事件,在cpp中直接调用
BlueprintNativeEvent 触发事件 蓝图中的方法优先调用,如果没有事件没有方法体 调用虚函数 需要添加虚函数virtual void 函数名_Implementation();
BlueprintPure 纯函数 用来返回一个或多个值
BlueprintType 暴露这个类作为蓝图中变量可以使用的一种类型。
多播代理关键字:
BlueprintAssignable 暴露该属性来在蓝图中进行分配赋值
BlueprintCallable 该函数可以在蓝图或关卡蓝图图表中执行
代理:
通过使用代理我们可以在某事发生时调用其指向的函数。
多播代理 有多个成员函数
声明:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(代理名, 多播数据的类型, 数据变量名);//OneParam代表一个变量 可以1到9
使用:
UPROPERTY(BlueprintAssignable)
代理名 实体化代理名;
单播代理 只有一个成员函数
声明:
DECLARE_DYNAMIC_DELEGATE_OneParam(代理名, 多播数据的类型, 数据变量名);//OneParam代表一个变量 可以1到9
使用:
UFUNCTION(BlueprintCallable,Category="类别名")
void DelegateTest(代理名 实体化代理名);
在cpp中写函数并然后就能返回值
结构体:
创建:
USTRUCT(BlueprintType)
struct 结构体名
{
GENERATED_BODY()
};//结构体名第一个为F
枚举:
UENUM(BlueprintType)
enum class 枚举名 :数据类型//枚举名第一个字母为E
{
数据 UMATA(DisplayName="数据名"),//简化变量名
数据,
数据,
};
数组遍历:
for (数据类型 临时变量名:遍历数组名)
{
//可以随意调用临时变量了
}
网友评论