摘要:
上一篇分析了SNew背后的实现,但是有一个关键问题遗漏了,那就是: 为何这里要用一个特别奇怪的操作符重载:【<<=】?? 这个宏的目的无非是包装了WidgetType实例的创建和初始化,为何不用一个InitFromArg(FArguments& arg)之类的常规成员函数呢? 要解释这个问题,可以看 阅读全文
摘要:
ue4的ui库Slate体系非常庞大,即使是在创建对象这一小事上,也是相当复杂: 所有SWidget体系内的对象,都要用SNew这个宏来创建,它的内容是: 这里做了两件事: 1、先是调用MakeTDecl创建了一个【widget wrapper】 2、再调用该wrapper重载的<<=操作符,实并将 阅读全文
摘要:
ue4的build系统,继承并发展了3代的一如既往的复杂。。 一、每个configuration由两部份组成:【(性能)模式】+【(内容)组成】 模式有:Debug,DebugGame,Development,Shipping,Test Debug:引擎和游戏项目都是debug编译,最适合调试,不做 阅读全文
摘要:
名字里带viewport/client的类不少,以及相关的类: FViewportFrame、FViewport FViewportClient/UScriptViewportClient/UGameViewportClient UClient/UWindowsClient UEngine/UGam 阅读全文
摘要:
FName是unreal3里对字符串高效处理的一种机制 基本原理就是把字符串hash存起来,然后每个字符串就只需要用一个数组索引值来表示了 FName的属性: NAME_INDEX Index; INT Number; Index就是数组索引,Number是一种特殊用途:系统在生成对象时通常会规律自 阅读全文
摘要:
在unrealscript里获取调用栈,有下面两函数: 这两个是Object上的静态函数,也就相当于全局函数了 最终都会调用到c++里的函数: 这个f.Node->Line也就是行号,原来并没有,是我加上去的。但其实也没有太大作用。 因为对于调用栈回溯,最重要的是知道每一层函数当前执行到哪一行了,而 阅读全文
摘要:
https://blog.linuxeye.com/323.html 装个tmux也是不容易。。 关键词:libevent要自己下载2.0版,然后编译、安装时还要各种参数指定目录。 阅读全文
摘要:
unrealscript中有两个与属性自动配置相关的关键字: config/globalconfig 当把它们应用于属性时,对象在创建后,该属性的初始值会被自动设置为相对应ini文件中的值。 举例来说,如有一个类: 声明一个带config修饰的属性host, 那么在创建该类实例时,其host会自动设 阅读全文
摘要:
http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/ 阅读全文
摘要:
unreal3的坐标系有点奇葩,属于【z轴向上的左手坐标系】: 1、左手食指指前方,x正向 2、大拇指指上方,z正向 3、中指指右方,y正向 若以我们人头摆正时来参考: 1、目视的是前方,x正向 2、头顶的是上方,z正向 3、右边是右方,y正向 特殊的地方在于: 通常在d3d这样的系统里,地平面上是 阅读全文