草庐IT

UE4 C++学习 浅析UProperty属性说明符

本文就UProperty是什么?以及UProperty怎么用?做一个简单的总结。什么是UPROPERTY?首先看下官方的解释:  感觉还是比较模糊没看懂有什么用,我们接着往下看 要知道UPROPERTY有什么用,我们首先要知道反射(Refection)这个机制。这个机制在Java和C#等语言都是存在的,但是C++语言本身没有,所以UE4才有引入一些功能(例如UPROPERTY)用来实现反射。 我们先看看其他语言中对于反射的定义是什么:反射就是在运行状态中:1.对于任意一个类,都能够知道这个类的所有属性和方法;2.对于任意一个对象,都能够调用它的任意一个属性和方法;即可以动态的获取信息以及调用对

UE4 C++学习 浅析UProperty属性说明符

本文就UProperty是什么?以及UProperty怎么用?做一个简单的总结。什么是UPROPERTY?首先看下官方的解释:  感觉还是比较模糊没看懂有什么用,我们接着往下看 要知道UPROPERTY有什么用,我们首先要知道反射(Refection)这个机制。这个机制在Java和C#等语言都是存在的,但是C++语言本身没有,所以UE4才有引入一些功能(例如UPROPERTY)用来实现反射。 我们先看看其他语言中对于反射的定义是什么:反射就是在运行状态中:1.对于任意一个类,都能够知道这个类的所有属性和方法;2.对于任意一个对象,都能够调用它的任意一个属性和方法;即可以动态的获取信息以及调用对

UE4 C++ 浅析InterFace接口以及简单实现一个开关

我们先来看看什么是接口?官方的定义是:接口类有助于确保一组(可能)不相关的类实现一组通用函数。在某些游戏功能可能被大量复杂而不同的类共享的情况下,这非常有用。例如,某个游戏可能有这样一个系统,依靠该系统输入一个触发器体可以激活陷阱、警告敌人或向玩家奖励点数,这可以通过针对陷阱、敌人和点数奖励器执行"ReactToTrigger"函数来实现。然而,陷阱可能派生自"AActor",敌人可能派生自专门的"APawn"或"ACharacter"子类,点数奖励可能派生自"UDataAsset"。所有这些类都需要共享功能,但它们没有除"UObject"之外的共同上级。在这种情况下,推荐使用接口。 其实要理

UE4 C++ 浅析InterFace接口以及简单实现一个开关

我们先来看看什么是接口?官方的定义是:接口类有助于确保一组(可能)不相关的类实现一组通用函数。在某些游戏功能可能被大量复杂而不同的类共享的情况下,这非常有用。例如,某个游戏可能有这样一个系统,依靠该系统输入一个触发器体可以激活陷阱、警告敌人或向玩家奖励点数,这可以通过针对陷阱、敌人和点数奖励器执行"ReactToTrigger"函数来实现。然而,陷阱可能派生自"AActor",敌人可能派生自专门的"APawn"或"ACharacter"子类,点数奖励可能派生自"UDataAsset"。所有这些类都需要共享功能,但它们没有除"UObject"之外的共同上级。在这种情况下,推荐使用接口。 其实要理

UE4 C++ 浅析委托并实现一个简单的例子

什么是委托?我们先来看看官方的解释:委托 是一种泛型但类型安全的方式,可在C++对象上调用成员函数。可使用委托动态绑定到任意对象的成员函数,之后在该对象上调用函数,即使调用程序不知对象类型也可进行操作。复制委托对象很安全。你也可以利用值传递委托,但这样操作需要在堆上分配内存,因此通常并不推荐。请尽量通过引用传递委托。虚幻引擎共支持三种类型的委托:单播委托,多播委托,和动态委托。 光是看定义可能不是很好理解,我们知道在计网中,单播和多播的意思是主机之间的一对一或者多对多通讯,在UE4中我们没有主机,所以并不是计网中的意思单播委托的意思就是可以使用一个Actor事件绑定到另外一个Actor某个函数

UE4 C++ 浅析委托并实现一个简单的例子

什么是委托?我们先来看看官方的解释:委托 是一种泛型但类型安全的方式,可在C++对象上调用成员函数。可使用委托动态绑定到任意对象的成员函数,之后在该对象上调用函数,即使调用程序不知对象类型也可进行操作。复制委托对象很安全。你也可以利用值传递委托,但这样操作需要在堆上分配内存,因此通常并不推荐。请尽量通过引用传递委托。虚幻引擎共支持三种类型的委托:单播委托,多播委托,和动态委托。 光是看定义可能不是很好理解,我们知道在计网中,单播和多播的意思是主机之间的一对一或者多对多通讯,在UE4中我们没有主机,所以并不是计网中的意思单播委托的意思就是可以使用一个Actor事件绑定到另外一个Actor某个函数

浅析静态应用安全测试

摘要:根据Forrester的TheStateOfApplicationSecurity,2022一文的预测,应用安全性的缺失将仍然是最常见的外部攻击方式,因此SAST将会在可预见的未来一直被重视。本文分享自华为云社区《SAST-静态应用安全测试》,作者:gentle_zhou。SAST,StaticApplicationSecurityTesting,即静态应用安全测试,也叫静态分析,是一种测试方法,一直是应用程序安全性工作的核心部分。根据Forrester的TheStateOfApplicationSecurity,2022一文的预测,应用安全性的缺失将仍然是最常见的外部攻击方式,因此SA

浅析静态应用安全测试

摘要:根据Forrester的TheStateOfApplicationSecurity,2022一文的预测,应用安全性的缺失将仍然是最常见的外部攻击方式,因此SAST将会在可预见的未来一直被重视。本文分享自华为云社区《SAST-静态应用安全测试》,作者:gentle_zhou。SAST,StaticApplicationSecurityTesting,即静态应用安全测试,也叫静态分析,是一种测试方法,一直是应用程序安全性工作的核心部分。根据Forrester的TheStateOfApplicationSecurity,2022一文的预测,应用安全性的缺失将仍然是最常见的外部攻击方式,因此SA

浅析UE4 Actor&Actor生命周期

首先说明一下关于UE4中一些对象的名字前缀吧,虽然这个不是这一关于Actor的内容,但是后续都要用到,所以就先说明白。关于Class类前缀:派生自 Actor 的类前缀为A,比如AController。派生自 Object 的类前缀为U,比如UComponent。派生自 SWidget(SlateUI)的类前缀为S,比如SButton Enums 的前缀为E,比如EFortificationType。Interface 类的前缀通常为I,比如IAbilitySystemInterface。Template 类的前缀为T,比如TArray。其余类的前缀均为字母F,比如FVector。--好了,现

浅析UE4 Actor&Actor生命周期

首先说明一下关于UE4中一些对象的名字前缀吧,虽然这个不是这一关于Actor的内容,但是后续都要用到,所以就先说明白。关于Class类前缀:派生自 Actor 的类前缀为A,比如AController。派生自 Object 的类前缀为U,比如UComponent。派生自 SWidget(SlateUI)的类前缀为S,比如SButton Enums 的前缀为E,比如EFortificationType。Interface 类的前缀通常为I,比如IAbilitySystemInterface。Template 类的前缀为T,比如TArray。其余类的前缀均为字母F,比如FVector。--好了,现