2024年6月2日

UE中的TStrongObjectPtr

摘要: TStrongObjectPtr 是 Unreal Engine 中的一种智能指针类型,用于管理 UObject 派生类对象的生命周期。它通常用于确保一个指向 UObject 的指针在其使用期间不会被垃圾回收系统销毁。 TStrongObjectPtr 的作用和特点: 生命周期管理: TStrong 阅读全文

posted @ 2024-06-02 15:21 橙柒 阅读(145) 评论(0) 推荐(0) 编辑

2024年5月8日

UE中Widget聚焦导致的问题

摘要: 错误信息 “LogPlayerController: Error: InputMode:UIOnly - Attempting to focus Non-Focusable widget SObjectWidget [Widget.cpp(954)]!” 指示你在使用 Unreal Engine 的 阅读全文

posted @ 2024-05-08 13:56 橙柒 阅读(352) 评论(0) 推荐(0) 编辑

UEC++做拖拽时的UDragDropOperation 的PayLoad是什么

摘要: 在Unreal Engine中,使用C++进行拖拽操作时,UDragDropOperation 类的 Payload 成员变量允许你传递与拖拽操作相关的任何类型的数据。它通常被用来存储一些关于被拖拽元素的信息,这些信息在拖拽开始时被设置,然后可以在拖拽结束时被检索和使用。 Payload 是一个 U 阅读全文

posted @ 2024-05-08 13:56 橙柒 阅读(60) 评论(0) 推荐(0) 编辑

在UEC++中的FReply

摘要: 在Unreal Engine中,FReply 是一个核心类,用于在UI事件处理中返回和控制事件的传播。它主要用于Slate UI框架,是处理输入事件(如点击、拖拽、鼠标移动等)时的回应类型。 FReply 用于告诉Slate事件系统一个特定的事件是否被处理,以及是否应该将事件继续传递给其他控件。例如 阅读全文

posted @ 2024-05-08 13:55 橙柒 阅读(130) 评论(0) 推荐(0) 编辑

2024年4月3日

为什么 InputComponent->BindAxis(TEXT("ViewHorizontalOffSet"),this,&AMarioController::ViewOffset);中的函数不用加UFUNCTION(),而OnComponentBeginOverlap绑定的函数一定要加UFUNCTION()?

摘要: 在Unreal Engine中,InputComponent->BindAxis和事件绑定(如OnComponentBeginOverlap)使用不同的系统和要求。这些差异导致了在绑定函数时对UFUNCTION()宏的不同需求。 BindAxis和UFUNCTION()宏 BindAxis: 用于绑 阅读全文

posted @ 2024-04-03 12:21 橙柒 阅读(11) 评论(0) 推荐(0) 编辑

2024年3月31日

C++中Switch穿透的妙用

摘要: 在C++中,Case穿透(fall-through)指的是在switch语句中,一个case标签没有显式地使用break语句来终止,而是直接执行下一个case标签中的代码。虽然Case穿透在编程中有时会被视为不良实践,因为它可能导致代码的可读性变差和潜在的错误,但有时也可以利用它来实现一些特定的目的 阅读全文

posted @ 2024-03-31 17:58 橙柒 阅读(220) 评论(0) 推荐(0) 编辑

2024年3月20日

在sort中传入仿函数

摘要: 仿函数就是用来控制排列顺序的 map<int,int,Compare>是这样,list.sort()也是这样. // List双向链表.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include<list> using n 阅读全文

posted @ 2024-03-20 19:56 橙柒 阅读(27) 评论(0) 推荐(0) 编辑

从时间复杂度的角度出发,list和vector之间查找,插入,删除等数据操作的区别

摘要: list和vector是STL(标准模板库)中常用的两种序列容器,它们各自在不同类型的操作上有着不同的优势。下面是list和vector在不同操作上的擅长之处: list的擅长操作 插入和删除操作:list是一个双向链表,插入和删除元素时只需要调整相邻节点的指针,因此在中间或任意位置插入或删除元素时 阅读全文

posted @ 2024-03-20 19:19 橙柒 阅读(620) 评论(0) 推荐(0) 编辑

2024年3月19日

vector的Erase相关

摘要: vector<int>Vect; Vect.insert(Vect.begin()+2, 50); for (auto it=Vect.begin();it!=Vect.end();++it) { if (*it==50) { Vect.erase(it); } } 为什么以上的代码会报错,而下面的 阅读全文

posted @ 2024-03-19 20:44 橙柒 阅读(4) 评论(0) 推荐(0) 编辑

STL:vector中如何使用at()来避免程序报错

摘要: #include <iostream> #include <vector> using namespace std; int main() { vector<int> Vec; for (int i = 0; i < 30; i++) { Vec.push_back(i); //cout << Ve 阅读全文

posted @ 2024-03-19 15:10 橙柒 阅读(81) 评论(0) 推荐(0) 编辑

导航