Woody_Dark 2024-03-20 10:19 采纳率: 33.3%
浏览 16

UE怎么在角色C++里用变量调用C++主数据资产

在UE里创建主数据资产C++项目,在角色C++里创建变量,然后再角色C++里用变量调用主数据资产里的数据,这个角色C++里的变量怎么填写

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 优质创作者: Java、后端开发技术领域 2024-03-20 10:19
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    首先,在角色C++里创建变量需要使用声明语句,语法格式为:
    VariableType VariableName;
    

    其中,VariableType为变量的类型,VariableName为变量的名称。比如,如果要创建一个整型变量,可以写成:

    int MyVariable;
    

    然后,在角色C++里调用主数据资产里的数据,需要先获取到主数据资产的指针,然后再通过指针获取相应的数据。可以使用以下代码:

    // 获取主数据资产指针
    AMyDataAsset* DataAssetPtr = Cast<AMyDataAsset>(GetAsset());
    if (!DataAssetPtr)
    {
        // 处理获取失败的情况
        return;
    }
    // 获取主数据资产里的数据
    int DataValue = DataAssetPtr->MyDataValue;
    

    其中,AMyDataAsset为主数据资产的类型名,MyDataValue为主数据资产里的数据成员名。注意,在使用Cast函数时,需要先把GetAsset()函数返回的UObject指针转换成相应的类型指针。 举个例子,如果主数据资产类型为AMyDataAsset,数据成员名为MyDataValue,角色C++里的变量名为MyVariable,可以这样写:

    // 在角色C++里创建变量
    int MyVariable;
    // 在角色C++里调用主数据资产里的数据
    AMyDataAsset* DataAssetPtr = Cast<AMyDataAsset>(GetAsset());
    if (!DataAssetPtr)
    {
        // 处理获取失败的情况
        return;
    }
    MyVariable = DataAssetPtr->MyDataValue;
    
    评论

报告相同问题?

问题事件

  • 创建了问题 3月20日