声明Export (PropertyHint)1234567891011121314151617181920212223242526//基础声明语法[Exprot]public int age{set;get;}//限制最大最小[Export(PropertyHint.Range,"0,100,1")] //整值枚举[Export(PropertyHint.Enum,"A,B")] //输出1,2//字符串枚举[Export(PropertyHint.EnumSuggestion ,"A,B")] //输出A,B//曲线[Export(PropertyHint.ExpEasing,"positive_only")] //锁 Link[Export(PropertyHint.Link)] //标志flags[Export(PropertyHint.Flags,"A:16,B,C")] //注册类到godot[GlobalClass]//自定义图标[ ...
数组声明
创建空数组
12//声明,创建空数组Tarray<int32>Myarray;
拷贝构造函数
123//使用拷贝构造函数可以创建一个现有数组的副本。TArray<int> SourceArray = {1, 2, 3, 4, 5}; TArray<int> CopyArray(SourceArray);
初始化
12//可以在声明数组时直接初始化它。TArray<int> MyArray = {10, 20, 30, 40, 50};
使用InPlaceInitQuantity和InPlaceInitValue初始化
123//可以在给定数量的情况下,初始化数组的元素。//这将创建一个包含三个浮点数的数组,每个元素初始化为1.0。TArray<float> MyArray(3, 1.0f);
使用循坏结构初始化
12345TArray<int> MyArray; for (int i = 0; i < 5; ++i) { ...
属性
此文档包含了属性与各种数据结构的声明和初始化
基础属性类型
数据类型
描述
uint64
64位无符号
int64
64位有符号
int32
32位有符号
float
浮点
double
多精的浮点
bool
布尔:true,false
FString
字符串
FName
字符
FText
文本
FVetor
向量
FRotator
旋转向量
FTransform
位置,旋转,缩放
Tarray
数组
TMap
字典
UENUM
枚举
TSubclassOf
类引用
标识
标识
F
代表结构体(Structure)。这些通常是值类型,用于存储数据,如FRotator用于表示旋转信息,FVector表示三维向量等
A
代表Unreal的类(UClass),这些是通过Unreal的反射系统管理的类,通常用于复杂的对象或者需要序列化和编辑器支持的类,例如游戏组件、蓝图类等。
U
代表Unreal的类(UClass),这些是通过Unreal的反射系统管理的类,通常用于复杂的对象或者需要序列化和 ...
容器容器声明12//容器声明Tset<int>MySet;
123456//声明容器并初始化Tset<int>MySet;MySet.Emplace(1); MySet.Emplace(2); MySet.Emplace(3);
方法
void Add(const T& Element);
将一个元素添加到集合中。如果元素已经存在,则不会重复添加。
void Remove(const T& Element);()
从集合中移除一个元素。如果元素不存在于集合中,则不会有任何影响。
bool Contains(const T& Element) const;()
检查集合中是否包含指定的元素
bool IsEmpty() const;()
检查集合是否为空。
int32 Size() const;()
获取集合中元素的数量
void Clear();()
清空集合中的所有元素
template<typename… Args> void Emplace(Args&&… Arg ...
字典声明12//声明字典 键是int 值是FString字符串TMap<int, FString> MyMap;
123456789//声明空字典 然后添加元素TMap<int, FString> MyMap; // 清空TMapMyMap.Empty(); MyMap.Emplace(1, TEXT("One")); MyMap.Emplace(2, TEXT("Two")); MyMap.Emplace(3, TEXT("Three"));
方法
字典
方法说明
Add()
向TMap中添加一个键值对
Remove()
从TMap中删除一个键值对
Clear()
清除TMap中的所有键值对
Contains()
检查TMap中是否存在具有指定键的键值对。
Empty()
检查TMap是否为空
Keys()
获取包含所有键的数组
Values()
获取包含所有值的数组
Size()
获取TMap中的键值对数量
Find()
根据键查找与该键 ...
游戏设计模式命令模式
对输入指令和动画进行解耦撤销等
享元模式
多个对象共用同一个资源
更新方法模式
对每个对象单独调用更新函数
游戏循环模式
游戏循环底层
双缓冲模式
绘制相关
状态模式
状态机逻辑,有限状态机等
单例模式
静态函数,全局变量
原型模式
关于工厂模式,预制体,泛型,模板
观察者模式
通过观察者模式接受命令执行相应的动作
字节码模式
自定义编程语言?
子类沙箱模式
将多复用的方法写在基类,避免高耦合度
类型对象
将对象可通过外部文件修改,避免修改源码
组件模式
对对象添加组件进行使用
事件队列
将事件加入队列,等待执行处理,类似观察者模式,多出缓存区域
服务器定位器
类似单例
关键
🔵未了解
🔴了解
数据类型
控制
存储
类
转换
异常
int 整型🔴
if 如果🔴
auto 字典推导🔴
class类🔴
const_cas类型转换🔵
catch异常处理🔵
long 长整型🔴
else 否则🔴
static 静态🔴
template模🔴板
dynamic_cast 类型转换操作符🔵
throw抛出异常🔵
float 浮点🔴
switch判断🔴
extern其他文件定义🔵
friend友元🔴
reinterpret_cast类型转换🔵
try异常
double 双精度🔴
case 或者🔴
mutable在常量函数修改属性🔴
union 联合体🔴
static_cast型转换操作符之🔵
char 字符🔴
default switch的否则🔴
sizeof 长度🔴
**struct **结构体🔴
wchar_t宽字符类型
for 循坏🔴
this 特殊指针🔴
new指向🔴
public公开🔴
break 跳过🔴
delet ...
文档说明
ImGui库是一个强大的C++GUI开源库,可用于开发多种可视化程序
窗口创建窗口
源码声明
1bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags) //创建窗口
1void ImGui::End() //结束
name 窗口名
p_open 布尔指针,控制窗口显示
ImGuiWindowFlags 标志
ImGuiWindowFlags
Flag
窗口没有特殊行为或外观。
ImGuiWindowFlags_None
窗口没有特殊行为或外观。
ImGuiWindowFlags_NoTitleBar
窗口没有标题栏。
ImGuiWindowFlags_NoResize
禁用窗口的调整大小功能。
ImGuiWindowFlags_NoScrollbar
隐藏水平和/或垂直滚动条。
ImGuiWindowFlags_NoCollapse
窗口不能通过双击其标题栏或按钮来折叠/展开。
ImGuiWindowFlags_Alwa ...
结构线性表
方法
初始化init()
头插insertAtHead(int vale)
尾插insertAtTail(int vale)
删除指定元素deletenode(int vale)
遍历输出printList()
析构LinkedList()
线性表数组1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192#include<bits/stdc++.h>using namespace std;const int N = 10; //最大容量为10int res[N + 1]; //存储元素,下标从1开始int cnt = 0; //数组指针,也表示当前元素数量//插入元素void push_key(int ke ...











