zoukankan      html  css  js  c++  java
  • 3.瞧,这就是UE4 C++

      1.虚幻中的类前缀你会见到U,A,F,以下就是很好的罗列其中的意义

    •  U: UObject继承过来的,例如UTexture
    •    A: AActor继承过来的,例如AGameMode
    •    F: 其他的类和结构,例如FName, FVector
    •    T:模板,例如TArray,TMap,TQueue
    •    I: 接口类,ITransaction
    •    E:枚举, ESelectionMode
    •  B: Boolean, bEnabled

      2.区分大小写!

      用宏定义来包裹C++代码

      UCLASS 来包裹类

      USTRUCT 包裹结构

      UFUNCTION 包裹功能

      UPROPERTY 包裹属性

      这是例子 

    USTRUCT()
    
      struct FVector2D
    
      {
    
        UPROPERTY()
    
        float X;
    
        UPROPERTY()
    
        float Y;
    
        UFUNCTION()
    
        float GetLength() const;
      };

      3.虚幻主义者

      UE4代码中使用自己的基础类型,不适用C++中的(char,short,int,long等)

      ①取而代之的是:int32,uint32,uint64,TCHAR,ANSICHAR等  

      数值类型在NumericLimits.h中声明,可以详细阅读查询

      

      ②一般的结构数据类型有

      FBox,FColor,FGuid,FVariant,FVector,TBigInt,TRange  

      ③容器

      TArray,TSparseArray-动态数组

      TLinkedList,TDoubleLinkedList

      TMap-键值对哈希表

      TQueue-队列

      TSet-非有序集

      

      ④代理:这一部分中文更加拗口没有翻译的意义,实际使用的时候我会再解释

      Unicast and multicast delegates

      thread-safe variants

      ⑤智能指针

      TSharedPtr,TSharedRef-一般传统的C++对象

      TWeakPtr-一般传统的C++对象

      TWeakObjPtr-UObject

      TAutoPtr,TScopedPtr

      TUniquePtr

      原谅我偷懒直接复制,用了才知道怎么回事

      Similar to boost:: & std:: implementations
      Also thread-safe variants

      ⑥String 类型

      FString- 通常的String

      FText- 本地化,在Slate UI中常使用

      FName-在UObject中常使用的,String哈希.FName是大小写敏感的

      

      ⑦String文字

      TEXT()- 创建一个通用的String类型,TEXT("Hello");

      LOCTEXT()-创建一个本地化文字,LOCTEXT("Namespace","Name","Hello");

      NSLOCTEXT()-在一个域名空间内的本地化,NSLOCTEXT("Name","Hello");

      

  • 相关阅读:
    python基础(5)
    python基础(4)
    python基础(3)
    python基础(2)
    第一个python程序(2)
    第一个python教程(1)
    【jQuery】
    【JavaScript】
    【练习】HTML+CSS
    【练习】Html
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/4059419.html
Copyright © 2011-2022 走看看