【UE C++】重写基类中的BeginPlay、Tick函数

server/2024/12/22 7:40:58/

前言

        为了让游戏场景中的各种继承于“Actor”的游戏对象在生命周期中执行自定义逻辑和行为,我们通常需要重写“Actor”类及其派生类中的BeginPlay、Tick函数。

        那么如何用C++重写BeginPlay、Tick函数呢,可参考如下步骤。

步骤 

1. 在头文件中添加如下代码,表示我们要声明函数重写。其中:

virtual” 是一个关键字,用于声明虚函数。(虚函数是一种特殊的成员函数,可以在派生类中重写基类中的同名函数)

override” 也是一个关键字,用于明确地指示派生类中的成员函数是对基类中的虚函数的重写。当派生类中的函数被标记为 override 时,编译器会检查该函数是否确实覆盖了基类中的虚函数,如果没有正确覆盖,编译器将生成一个错误。

public:virtual void BeginPlay() override;virtual void Tick(float DeltaTime) override;

2. 接下来我们需要在cpp中实现BeginPlay、Tick函数。

如果想快速在cpp中定义BeginPlay、Tick函数,我们可以点击“显示可能修补的程序”

点击创建在cpp中的定义

此时在cpp中就自动实现了这两个函数

为了在当前的派生类中调用基类中的BeginPlay、Tick函数,我们可使用“Super”(在 UE 中,通常使用 Super::FunctionName() 来调用父类的同名函数,以确保父类中的逻辑得以执行。)

void AMyGameMode::BeginPlay()
{Super::BeginPlay();
}void AMyGameMode::Tick(float DeltaTime)
{Super::Tick(DeltaTime);
}

http://www.ppmy.cn/server/16479.html

相关文章

封装一个antd的Table操作项中的一个展开与收起通用功能

第一种方法,不使用任何插件和库 import React, { useState, useEffect, SetStateAction, Dispatch } from react; // 定义expandedKeys的类型 type ExpandedKeysType Set<string>; // 自定义Hook&#xff1a;useExpandedKeys function useExpandedKeys(initialK…

【RAG 论文】Adaptive-RAG:自适应地根据 query 难度来选择合适的 RAG 模型

论文&#xff1a;Adaptive-RAG: Learning to Adapt Retrieval-Augmented Large Language Models through Question Complexity ⭐⭐⭐⭐ Code&#xff1a;github.com/starsuzi/Adaptive-RAG NAACL 2024&#xff0c;arXiv:2403.14403 文章目录 一、论文速读二、实现细节2.1 三种…

从 MySQL 到 ClickHouse 实时数据同步 —— Debezium + Kafka 表引擎

目录 一、总体架构 二、安装配置 MySQL 主从复制 三、安装配置 ClickHouse 集群 四、安装 JDK 五、安装配置 Zookeeper 集群 六、安装配置 Kafaka 集群 七、安装配置 Debezium-Connector-MySQL 插件 1. 创建插件目录 2. 解压文件到插件目录 3. 配置 Kafka Connector …

HTML5废除的元素

HTML5废除的元素 废除的元素 1、能用css代替的元素 basefont、big、center、font、s、strike、tt、u。这些元素纯粹是为画面展示服务的&#xff0c;HTML5中提倡把画面展示性功能放在css中统一编辑。 2、不再使用frame框架。 frameset、frame、noframes。HTML5中不支持frame框…

【ARMv9 DSU-120 系列 8 -- L3 Cache 详细介绍】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 L3 Cache In DSU-120L3 cache allocation policyCache WaysL3缓存分区和带宽分区L3 cache partitioningBandwidth partitioningCache stashingL3 Cache In DSU-120

Flutter开发好用插件url_launcher详解-启动 URL

文章目录 url_launcher介绍安装用法错误处理自定义行为其他功能 url_launcher介绍 url_launcher 是一个 Flutter 插件&#xff0c;用于启动 URL。它支持网络、电话、短信和电子邮件方案。您可以使用它从您的 Flutter 应用程序中打开网站、拨打号码、发送短信或撰写电子邮件。 …

ubuntu系统安装配置gitlab+Jenkins+发布持续集成持续部署保姆级教程。

1、服务器环境 名称 系统 IP 备注 gitlab ubuntu20.04.2图形化 192.168.26.130 要求有6G的内存 Jenkins Ubuntu20.04.2图形化 …

C++之类与对象(2)

目录 一、类的六个默认成员函数简介 二、构造函数 2.1 概念 2.2 特性 三、析构函数 3.1 概念 3.2 特性 四、拷贝构造函数 4.1 概念 4.2 特性 五、运算符重载 5.1 运算符重载 5.2 赋值运算符重载 5.3 前置和后置的重载 六、const成员 七、取地址及const取地址操作…