因为要做性能优化,所以,本来项目里面很多用蓝图实现的方法需要用cpp来实现,但是之前的一些需要延时的Event却不好在Cpp实现;
1.据我所知,在虚幻引擎中Functions和Events是两种完全不同的概念。
Events是区分于主线程的单独的线程,不能有任何的返回值,而且是可以执行有延时的方法,比如说delay;
而Function不像Events那样,他仍然是执行在主线程上的函数;
这是我所知道的CPP和蓝图之间的关于线程的问题。然而,困惑我的是如何在cpp里面实现这些可以延时的方法,如delay还有camerafade等方法;
我有一下两个问题:
1.UFUNCTION宏有两个相关的定义,一个是BlueprintNativeEvent一个是BlueprintIementationEvent。第一个让我们可以在CPP里面实现,然后在蓝图里面调用,第二个可以让我们在蓝图里面实现,然后在cpp里也可以调用。我看到这两个定义在CPP里面是可以给他添加返回值的。但是这个名字有开始误导了,他们都有Event在两个定义里,但是,他们都是用来实现Functions。这两个定义可以用来实现Events而不是方法吗?有没有其他的宏定义来实现这个功能 ?用宏定义BlueprintsNativeEvent可以实现延时的函数吗?他们能实现单独的线程吗?如果我不定义返回值,他们是不是自动的变成了Event类型了呢?
2.我注意到虚幻里面有一个Event类型的代理机制,你可以通过这个机制来实现让一个代理变成event。
如何在c++里面严格的实现Event类的事件?