zoukankan      html  css  js  c++  java
  • UE4复习2_信息交互(上)

    1.自定义事件(函数调用事件)

    自定义事件可以在函数中被调用,实现了函数调用函数外事件

    在蓝图中右键,输入custom event,点击创建事件

     这个事件打印了一个wow的字符串。

     然后在某函数中,右键输入自定义方法的名称,就会出现 call custom event。

    这样就实现了用别的事件触发printwow这个函数,然后函数再去调用custom event这个过程。

    比如这样

    ps.用的是一个简单的,打印字符串的功能作为例子。一般来说自定义事件都比较复杂,用函数直接调用可以减少很多不必要的工作。

    也可以用命令行进行调用, ce+空格+自定义事件名称

    2.类蓝图调用场景中其他actor或类蓝图

     左圆锥为类蓝图BP_M,右圆环为类蓝图BP_N

    第一种思路就是在BP_M的类蓝图中添加一个变量,并且将该变量的类型改成要调用的actor 的类型。可以在场景中点击他看他的type。

    下面具体介绍如何在类蓝图M中调用N中的事件或者函数。

    首先,在M中添加变量,并修改类型为BP_N,可以把该类型改成public,便于选取。

    编译并保存后,在场景中点击M,会发现多了一个属性,即选取哪个BP_N,

     

     

     也可以用后面的吸管工具在场景中选取该对象。

     比如图中,按E打印输出N的name;

    ps.需要注意的是,右下角input选项里,auto receive input要选成我们目前的角色。做改动之前是default,是不接受我们输入的。

    在n的蓝图中添加一个自定义事件,命令n旋转(因为之前选了个圆环,旋转看不出来,所以现在换成一根棍状的模型了)

     

     

    编译并保存后 按E, 棍棍就开始旋转了。

     调用函数同理。

    第二种思路是借用中间量。 

    具体步骤如下。首先在一个在场景中绝对会存在的蓝图类(比如角色)作为桥梁,先在其中添加需要调用的变量,并在场景中指认。

     注意要把PAWN转换成我们使用的类型,在这里是ThirdPersonCharacter,转换之后才可以在里面找到BP_N。

     ps.上述两种方法,都需要在场景中事先指认变量N,如果想要在游戏进行过程中再进行指认怎么办呢?

     复制了两根棍棍,name分别是BP_N, BP_N2, BP_N3。

    假如我们只想让BP_N3进行旋转,就需要用到 get all actors of class这个函数。它是用来获取场景中某类物体,并输出一个以该类物体为元素的数组的函数。

     这样就只有第二根棍旋转了。

    3.类蓝图调用关卡蓝图中的自定义事件

    可以用命令行的方式。

    在类蓝图中,调用函数,Execute Console Command

    command里面写 ce+空格+要调用的事件名。

    就可以实现类蓝图调用关卡蓝图的自定义事件。

  • 相关阅读:
    使用qemu模拟调试内核和debian根文件系统
    qemu无界面启动,并重定向输出到终端
    linux 音频编程
    解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
    【BigData】Java基础_通用排序工具类的实现
    【BigData】Java基础_登录注册实现
    【费曼学习方法】世界上最好的学习方法
    【BigData】Java基础_接口
    【BigData】Java基础_Eclipse配置自动补全new
    【BigData】Java基础_HashSet
  • 原文地址:https://www.cnblogs.com/reluctante1/p/12709628.html
Copyright © 2011-2022 走看看