- 博客(57)
- 资源 (6)
- 收藏
- 关注
原创 VS新增snippets步骤
目前遇到的一个问题,直接把自定义的snippets放在My Code Snippets路径下面,虽然可以被VS识别到,但是好像无法起作用,必须把这个snippets放在别的路径下面,然后执行导入才起作用,并且有概率无法即时起效。仿照Visual C++自带的#if,在某个位置创建一个snippet文件。4、可以在代码里使用这个snippets了,快捷键Ctrl+ K + S。3、点击导入按钮,找到我们新建的snippet文件,导入。选择My Code Snippets,点击完成。
2023-05-12 19:46:31
541
原创 Unreal&UBlueprintAsyncActionBase的使用
UBlueprintAsyncActionBase & FLatentAction
2022-12-17 18:48:43
1465
原创 LeetCode:矩阵的对角线遍历-路径法
LeetCode链接:对角线遍历路径法,这是我个人的称呼。有两种方向,往右上为正方向,往左下为反方向。从(0,0)开始,循着实际路径,每当走到边界时,方向翻转,并定位下次开始走路的索引。示意图如下往右上为正方向,前进时,每次前进一步,rowIndex--,colIndex++。共有三种边界情况,即图中圆圈中的1 2 3。第1种情况:方向取反,行索引重置为0,列索引+1,即从1走到2。第2种情况:方向取反,行索引重置为1,列索引重置到边界,即从5走到10。第3种情况:方向取反,行索引
2022-02-08 20:57:43
710
原创 UE4中的Slate&UMG类图
最近理了一下UE4中的Slate和UMG两个UI体系的继承关系,绘制了如下两张简易类图,可供学习参考。SlateUMG
2021-12-29 11:21:48
1101
原创 UE4中的UMG与DPI(二)
上篇文章了说了UMG对于不同分辨率通过调整DPI Scale来进行缩放,使得布局正确。并且我们也看到1280X720的设计界面,设置DPI为1.5以后,在1920x1080的设备也能显示良好,But,事情到此并未结束。我们稍微细心检查一下,就会发现,1280x720是16:9,1920x1080也是16:9,宽高正好可以通过1.5进行等比缩放,那如果一个设备的宽高比不是16:9呢?1440x900是16:10,如果按照之前的思想,1280x720的按钮长这样1920x1080的按钮长这这样那
2021-10-03 19:23:45
5564
1
原创 UE4中的UMG与DPI(一)
我们在UE4中进行UI界面设计的时候,有没有考虑过一个问题,我们的UI界面到底是多大的?我们把一个按钮设置成32x32的时候,它在设备上占据的真的是32x32的大小吗?今天就稍微对这个问题加以研究一下。一、UMG的设计画布大小。游戏界面在设计的时候,就需要对UI标准进行设定,我们究竟针对的是1280x720的分辨率还是1920x1080的分辨率,或者是别的分辨率?这个问题首先得搞清楚,否则美术在设计布局和创作资源的时候,就没有一个标准。我们这里假设选择的是1280x720。这里要额外探讨一个看似简单
2021-10-03 17:56:44
4997
9
原创 UE4中一个不起眼的小玩意TFrameValue
UE4为了提高效率,在很多小地方都下了心思,在看UE4代码的时候偶然发现TFrameValue,这是个模板结构体,主要用来干嘛的呢?我们知道在一些情况下,游戏在一帧期间可能会多次调用同一个函数来获取数据,而这个数据在一帧期间不会变,那么多次调用带来的计算明显是不需要的。最直接的解决方法是一帧开始时计算一下,然后把数据保存为一个全局变量(或者某个Mgr中的变量),这样后面再获取数据时不用重复计算,但这会带来一个问题,就是每次遇见这种数据的时候,都得在全局加一个记录变量,明显比较麻烦,而且很不利于扩展。
2021-10-01 11:50:42
305
原创 STL中的__is_trivial定义在哪里?
在查看stl源代码的时候,会发现std::is_trivial也是利用了__is_trivial,但是在STL查找,却没追踪到__is_trivial的定义,何解?百度了半天,也没发现谁准确地讨论了__is_trivial,全部都在围绕is_trivial讨论,很默契地避开了__is_trivial。几经周折,我在一个网站发现了端倪,https://manishearth.github.io/blog/2017/01/11/rust-tidbits-what-is-a-lang-item/其中有这样一句
2021-08-27 00:11:25
462
原创 C++中的Traits编程技巧有什么用?
如果你问C++中traist是干嘛的,很多网友会给你扛出“吓人的解释”:特性萃取技术!提取“被传进的对象”对应的返回类型!……嗯,听起来很高大上很牛逼,but,我还是不明白这玩意有啥用?相比枯燥的解释,让我们先看一个实际的需求。用过STL容器的同学都知道,STL自己有一套内存管理,我们直接使用容器就行了,一般情况下,不用关心容器内部的内存处理。但总存在一些情况,我们必须自己手动管理一些对象的内存,比如一个比较大的项目中,有大量对象的频繁申请释放,需要设计一个内存池,让不同的对象都能使用这套内存池。在
2021-08-25 14:25:52
502
原创 stl中的conditional_t是干嘛的?
stl源码中,有个很基础的类型conditional_t,conditional_t有什么用?在回答这个问题之前,先看几个简单的例子。现在有如下需求,有两个类A、B,如下:struct A{ int a= 10;};struct B{ float b = 200.0f;};问题1:现在新加一个类O,我希望它有时候继承A,有时候继承B,该怎么办?我们知道,一般继承情况下,O要么继承A,要么继承B,要么多继承A、B,怎么会既可能继承A,又可能继承B呢?从描述中,我们得出一个信息:
2021-08-24 18:28:55
3058
2
原创 C++中typename和template的其他用处
C++中,typename和template的最基础用法是在模板声明中,这个太常见了,所以不再赘述,我们要讨论的是typename和template的另一用处,本文的参考地址:Where and why do I have to put the “template” and “typename” keywords?typename在C++中,有些情况下,编译器需要显示地知道如何对待一个表达式,而这些情况有一点是共同的:他们都至少涉及到了一个模板参数。如果一个表达式在解析的时候,可能会有歧义,那么我们
2021-08-23 18:28:50
741
原创 说说vector的emplace_back和push_back
稍微了解过C++11的同学都知道,stl提供的标准容器新添加了一些列的操作函数,我们今天就简单聊聊vector新添加的emplace系列函数。vector添加的emplace系统函数有2个,emplace、emplace_back,其功能分别对应insert和push_back。我们以emplace_back为例,emplace的原理类似。网上有不少相关的介绍,最后结论都是说emplace_back是更好的方法,那么为什么emplace_back更好呢?要解释为什么emplace优于push_bac
2021-07-27 23:01:16
7641
5
原创 UE4的IsPendingKill完全安全吗
我们写UE4的C++代码时,习惯用IsPendingKill来判断一个Object是否还有效,尤其对于Actor最常见。使用Actor之前,判断一次nullptr和IsPendingKill,如果Actor合法,则继续之后的代码。一般情况下,这个做法不会出什么问题,但也有例外,可怕的是,进入这种例外情况以后,我们将无法通过一个Actor*判断它是否合法了,偶尔的崩溃即将出现……这个例外情况就是:如果一个Actor*没有被UPROPERTY修饰,当它被Destroy并且被GC销毁之后,此时Actor*将成
2021-07-26 00:02:18
1174
2
原创 UE4蓝图函数的参数传递问题
我们知道,在原生的C++编程中,函数在进行值传递的时候,其实是利用了外部的一个值变量,调用class的拷贝构造函数,创建了一个临时变量,如下一段代码struct A{ int i = 0; A() { cout << "A constructor" << endl; } A(const A& Other) { cout << "A copy constructor" << endl; } A& operator=
2021-07-24 16:29:26
2459
1
原创 关于C++11中的make_shared
我在读《C++Primer(第五版)》智能指针的章节时,看到书中有如下内容可见作者非常推荐使用make_shared来生成shared_ptr,那么我的疑问就来了,为什么make_shared是更好的方法?经过查阅相关资料和阅读源码,找出原因:make_shared只申请了一次内存,而普通的先new一个raw_ptr,再调用shared_ptr(raw_ptr)是进行了两次内存分配,所以一次分配要比两次分配效率高。为了下文叙述方便,我们称呼下图中使用make_shared的构造方法为1,先new
2021-06-28 20:58:14
3076
4
原创 UE4 EditorUtilityBlueprint之ActorActionUtility
上篇文章介绍了AssetActionUtility之后,我们再来看另一种常用的EditorUtilityBlueprint——ActorActionUtility。
2021-06-08 20:08:09
1667
lua5.1中文手册
2012-11-07
仙剑奇侠传五脚本script破解
2012-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人