变量、定时器和事件

变量、定时器和事件

向编辑器公开变量和函数,使用定时器并以蓝图覆盖C++函数。

创建和清除定时器

void AdvanceTimer();
int32 CountdownTime=3;
FTimerHandle CountdownTimerHandle;

GetWorldTimerManager().SetTimer(CountdownTimerHandle, this, &ACountdown::AdvanceTimer, 1.0f, true);

//倒数完成,停止运行定时器。
GetWorldTimerManager().ClearTimer(CountdownTimerHandle);

向编辑器公开变量和函数

UPROPERTY(EditAnywhere)
int32 CountdownTime;
UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished();
virtual void CountdownHasFinished_Implementation();
......
void ACountdown::CountdownHasFinished_Implementation(){


}

和 UPROPERTY 宏相同,需提供使用其进行操作的相关信息,以便非程序员开发者可使用更多功能和访问权。有三种选择可使用:

  1. BlueprintCallable 函数以C++编写,可从 蓝图图表 中调用,但只能通过编辑C++代码进行修改或重写。以此类方式标记的函数通常具备供非程序员使用而编写的功能,但是不应对其进行修改,否则修改将毫无意义。数学函数便是此类函数的经典范例。

  2. 在C++ header (.h)文件中设置 BlueprintImplementableEvent 函数,但是函数的主体则在蓝图图表中完成编写,而非C++中。创建此类通常是为了使非程序员能够对无预期默认动作或标准行为的特殊情况创建自定义反应。在宇宙飞船游戏中,玩家飞船接触到能量升级时发生的事件便是这方面的范例。

  3. BlueprintNativeEvent 函数与 BlueprintCallable 和 BlueprintImplementableEvent 函数的组合类似。其具备用C++中编程的默认行为,但此类行为可通过在蓝图图表中覆盖进行补充或替换。对此类代码编程时,C++代码固定使用命名末尾添加了_Implementation的虚拟函数,如下所示。此为最为灵活的选项,因此本教程将采用这种方法。

Reference

  1. VariablesTimersEvents 变量、定时器和事件
  2. 项目源码:变量、定时器和事件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信捷PLC的计数器和定时器指令和变量如下: 1. 计数器指令 计数器指令用于实现计数操作,可以用来记录物体的位置或者数量等信息。信捷PLC提供了以下几种计数器指令: - CTU:向上计数器指令。每次接收到一个触发信号,计数器的值加1。 - CTD:向下计数器指令。每次接收到一个触发信号,计数器的值减1。 - CTUD:向上/向下计数器指令。每次接收到一个触发信号,计数器的值加1或减1。 - CTLD:限制向下计数器指令。每次接收到一个触发信号,计数器的值减1,但不会小于指定的下限值。 - CTUDZ:向上/向下计数器指令,支持清零操作。每次接收到一个触发信号,计数器的值加1或减1,可以通过指令将计数器清零。 2. 定时器指令 定时器指令用于实现定时操作,可以用来控制电机的加速度和减速度等。信捷PLC提供了以下几种定时器指令: - TON:定时器指令。当输入信号为高电平时,定时器开始计时,当计时器达到设定时间时,输出一个脉冲信号。 - TOF:反向定时器指令。当输入信号为低电平时,定时器开始计时,当计时器达到设定时间时,输出一个脉冲信号。 - RTO:重复定时器指令。每次接收到一个触发信号,定时器开始计时,当计时器达到设定时间时,输出一个脉冲信号,并重新开始计时。 3. 变量 信捷PLC的变量可以分为输入变量和输出变量。输入变量包括传感器的状态、开关的状态、按钮的状态等。输出变量包括控制电机运动的方向、速度、加速度、减速度等。通过使用计数器和定时器指令和变量,可以实现对变量的读取和修改操作,从而实现对电机运动的控制。 需要注意的是,在实际使用中,需要根据具体的硬件设备和应用场景进行相应的配置和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值