Introduction to C++ Programming in UE4 閱讀筆記

來源:互聯網
上載者:User

標籤:

四大基類: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 閱讀筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.