一、C++调用蓝图的函数

本来应该有一个很好的示例,但一下却忘了适用于哪些地方,只有简单写一个步骤了。

1.新建一个C++类继承Actor,名称随意,我这里继承了一个SplineMesh,一样de,并定义一个函数表示在蓝图中可重载(同时这个函数在C++中不必实现)

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "Engine/SplineMeshActor.h"
#include "MySplineMeshActor.generated.h" /**
*
蓝图可继承
*/
UCLASS(Blueprintable)
class MYPROJECT_API AMySplineMeshActor : public ASplineMeshActor
{
GENERATED_BODY() public:
AMySplineMeshActor(); /*此函数可以在蓝图或关卡蓝图图表内进行重载*/
UFUNCTION(BlueprintImplementableEvent, Category="SplineMesh")
void PrintMessage(const FString &Message);
};

2.新建一个蓝图继承此类,并重载PrintMessage函数,我这里就是讲Message打印出来

3.将蓝图拖在场景中,这里的名称设置为BP_MySplineMesh_Actor,后面方便查询

4.在C++中找到这个物体并调用PrintMessage函数

void AMyPlayerController::BeginPlay()
{
TArray<AActor*> _TempArryActors;
UGameplayStatics::GetAllActorsOfClass(GetWorld(), AActor::GetClass(), _TempArryActors);
for (int32 i = 0; i < _TempArryActors.Num(); i++)
{
if (_TempArryActors[i]->GetName() == FString("BP_MySplineMesh_Actor"))
{
Cast<AMySplineMeshActor>(_TempArryActors[i])->PrintMessage(TEXT("找到Actor&调用PringMessage函数"));
}
}
}

5.运行截图

UE4 C++与蓝图交互的更多相关文章

  1. UE4 中的 C++ 与 蓝图交互

    1.Unreal 引擎提供了两种创建新 Gameplay 元素的方法:C++ 和 蓝图视觉脚本. 通过 C++,程序员构建基础游戏系统:设计师可以基于此系统为场景 / 游戏创建自定义的游戏玩法. 这种 ...

  2. [UE4]虚幻4蓝图使用小技巧

    不得不说,虚幻的蓝图系统还是非常方便强大的,大大的提高了开发效率.蓝图是一个很成熟的系统,也就有很多隐藏的小技巧,这些技巧谈不上多高深,却可以使人们在使用蓝图时更加得心应手,更加喜爱这个“可视化编程“ ...

  3. [UE4]C++调用蓝图函数:BlueprintImplementableEvent函数说明符用法

    用BlueprintImplementableEvent标明的函数在C++代码中不需要有方法体,方法体在蓝图中实现. 用法: 1,现在C++头文件中定义函数名 UFUNCTION(BlueprintI ...

  4. [UE4]C++取得蓝图控件实例

    .h /*确认密码输入框*/ UPROPERTY() UEditableTextBox* EditableTextBoxRePassword; .cpp EditableTextBoxPassword ...

  5. UE4蓝图与C++交互——射击游戏中多武器系统的实现

    回顾   学习UE4已有近2周的时间,跟着数天学院"UE4游戏开发"课程的学习,已经完成了UE4蓝图方面比较基础性的学习.通过UE4蓝图的开发,我实现了类似CS的单人版射击游戏,效 ...

  6. [UE4]使用C++重写蓝图,SpawnObject根据类型动态创建UObject

    先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一.创建一个C++类作为蓝图的父类(C++类继承 ...

  7. Aery的UE4 C++游戏开发之旅(3)蓝图

    目录 蓝图 蓝图命名规范 蓝图优化 暴露C++至蓝图 暴露C++类 暴露C++属性 暴露C++函数 暴露C++结构体/枚举 暴露C++接口 蓝图和C++的结合方案 使用继承重写蓝图 使用组合重写蓝图 ...

  8. Ue4 BatteryCollector 教程笔记

    H UFUNCTION(BlueprintNativeEvent) void EventName(); virtual void EventName_Implementation(); EventNa ...

  9. UE4 C++ Tips

    篇写的是关于UE4的C++方面的小技巧: 1.在构造函数里 //构建组件 RootComponent = CreateDefaultSubobject<USceneComponent>(T ...

随机推荐

  1. 【模板】KMP字符串匹配

    题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next. (如果你不知道这是什么意思也不要问,去百度 ...

  2. hdu 1828 线段树扫描线(周长)

    Picture Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  3. poj3580 splay树 REVOVLE循环

    SuperMemo Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 12795   Accepted: 3989 Case T ...

  4. Delphi7数据库编程之TDataSet(转)

    TDataSet类由TBDEDataSet(BDE组件).TCustomADODataSet(ADO组件).TIBCustomDataSet(InterBase组件).TCustomSQLDataSe ...

  5. rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份

    一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...

  6. ios html5 audio 不能自动播放

    //修复ios 浏览器不能自动播放音频的问题 在加载时创建新的audio 用的时候更换src即可 Xut.fix = Xut.fix||{}; if (Xut.plat.isBrowser & ...

  7. Spring的注解@Qualifier小结

    有以下接口: public interface EmployeeService { public EmployeeDto getEmployeeById(Long id); } 有两个实现类: @Se ...

  8. redux 最简例子

    方便初学redux的同学学习,这里是最简单的redux例子 1 import React, {Component, PropTypes} from 'react' 2 import ReactDOM ...

  9. CentOS 7 配置网络连接

    在VMware workstation12上新建虚拟机,发现无法连接网络.然后查了一些资料,知道了怎样配置网络,记录一下. 1.首先用ifconfig命令查看虚拟机的IP地址及网关信息 观察显示内容, ...

  10. weblogic AND jboss 反序列化漏洞

    C:\Program Files\Java\jboss-4.2.3.GA\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF serv ...