码迷,mamicode.com
首页 > 编程语言 > 详细

Introduction to C++ Programming in UE4 阅读笔记

时间:2015-07-24 20:27:36      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:

四大基类:UObject, AActor, UActorComponent, UStruct

 

UObject   :最基本的构建基类

 

UObject + UClass 提供了最主要的服务:

  属性和方法的映射(Reflection of properties and methods

  属性的序列化(Serialization of properties

  垃圾回收(Garbage collections

  根据name找到UObjectFinding UObjects by name

  可配置的属性值(Configurable values for properties

  属性和方法的网络支持(Networking support for properties and methods

  

  每个UObject的导出类都会自动创建一个单独的UClass,里面包含了关于实例的所有元数据(meta data)。UObjectUClass是一个游戏对象(gameplay object)在它生存时间内做的任何事情的根源(UObject and UClass together are at the root of everything that a gameplay object does during its lifetime)。帮助我们区别UClassUObject之间的不同地方的途径是,UClass是描述了一些东西,比如一个UObject实例长什么样子,什么属性是可以被序列化的,网络相关的东西等等。大多数游戏开发工作都不会直接从UObject继承,而是使用AActorUActorComponent。为了写游戏代码,开发者不必知道UClass/UObject的工作细节,不过知道有这两个东西存在还是有好处的。

 

AActor

  AActor的对象,是游戏体验中的一部分。AActor对象可以被关卡设计者放置到关卡中,或者在运行时通过游戏系统创建。所有继承于AActor的类的对象都可以放置在一个Level中,例如AStaticMeshActorACameraActor, APointLight .AActorUObject派生,所以它可以享受前一节提到的所有服务。AActor可以通过游戏代码(c++/蓝图)显式地回收,或者当它所属的Level对象被移除时通过标准垃圾回收机制回收。AActor负责游戏对象的高级行为。同时,AActor也是网络服务中可以被重用的对象的基类(AActors are also the base type that can be replicated during networking?)。在网络应答期间,AActor还可以为所有需要网络支持的AActor里的UActorComponent对象分发信息。

  虽然AActor拥有自己的行为(特别是通过继承得到的),但是它也可以作为UActorComponents层级的容器(特别是通过组合的)。这是通过AActorRootComponent组件来完成的,它包含了一个UActorComponent

当然,也可以包含很多个。在AActor对象被放置在Level里面之前,AActor必须至少包含一个USceneComponent对象来保证AActor能进行平移,旋转,缩放操作。

  在AActor的生存周期里,有一系列事件会被调用。下面的事件列表简单地表明它的生存周期。

  BeginPlay——当对象第一次进入游戏实体时被调用

  Tick——随着时间的流逝,每帧被调用一次

  EndPlay——当对象离开游戏空间时被调用

 

 运行时的生命周期:

 

Introduction to C++ Programming in UE4 阅读笔记

标签:

原文地址:http://www.cnblogs.com/selendis/p/4674154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!