找回密码
 立即注册
查看: 223|回复: 0

unreal engine c++函数常用修饰符用途和案例举例

[复制链接]
发表于 2023-1-3 11:50 | 显示全部楼层 |阅读模式
BlueprintCallable


BlueprintCallable     可以在蓝图中调用 可定义为静态
class CPPDIGITALTWN_API UEUtil : public UBlueprintFunctionLibrary{    GENERATED_UCLASS_BODY()public:    UFUNCTION(BlueprintCallable)    static FString GetTime();}BlueprintImplementableEvent


BlueprintImplementableEvent   此函数只能蓝图或关卡蓝图图表中被覆盖。 (事件中选择重写)
    UFUNCTION(BlueprintImplementableEvent, Category = "ChangeWeather")        void switchWeather(int flag);
swithWeather不能在cpp中实现
BlueprintNativeEvent


BlueprintNativeEvent 可在蓝图中实现也可以同时 本地实现。c++这边的实现应该定义为函数名_Implementation
    //.h file#pragma once#include "CoreMinimal.h"#include "Blueprint/UserWidget.h"#include "Components/Image.h"#include "MainUIParent.generated.h"UCLASS()class CPPDIGITALTWN_API UMainUIParent : public UUserWidget{    GENERATED_BODY()    UFUNCTION(BlueprintNativeEvent, Category = "Basic")        void switchMode();    virtual void switchMode_Implementation();}//cppvoid UMainUIParent::switchMode_Implementation(){    UKismetSystemLibrary::PrintString(this, TEXT("切换模式被点击了"));}BlueprintPure


BlueprintPure    纯函数
在蓝图中没有引脚  必须有返回值
摘自网络上的描述:
BlueprintPure的特点是在C++和蓝图中都可以调用,但是其修饰的函数必须有函数返回值或
函数参数输出,否则会编译失败。被声明的函数不会以任何方式拥有对象,并且可以在蓝图
或级别蓝图图标中执行。
因此,BlueprintPurs修饰的函数,主要用于(1)数学中的“+、-、*、/”操作  (数值处理)
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-21 15:40 , Processed in 0.119230 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表