游戏乐悠悠网游开发网

标题: 虚幻引擎脚本内部机制的那点猫腻 [打印本页]

作者: tianyalanzi    时间: 2012-2-25 21:15
标题: 虚幻引擎脚本内部机制的那点猫腻
和很多引擎不同, 虚幻引擎没有采用Lua或其他现成的脚本语言来进行自己的脚本编程. 和很多牛人一样, 虚幻引擎的作者Tim Sweeney自己写了个脚本引擎, 也就是Unreal Script.

最近搜客上比较沉寂, 就多花了点时间看代码了, 今天的重心是脚本内部机制, 想到哪写到哪, 加上本人水平很菜,大家凑和看看吧,望高人看了不要见笑。

话说整个脚本引擎最核心的类是哪个, 看来看去看上了这个可疑的 FFrame. 进去看看:

复制代码

很有看头嘛。

(隐藏剩下的部分只是想看看有多少人感兴趣, 没有别的意思, 呵呵)

本帖隐藏的内容这个BYTE* Code顾名思义就是指向编译好的字节码序列的指针喽。随便找个最简单的方法看看:

先假设我在UnrealScript里设了个int常量,对应的字节码是0x1D 即 EX_IntConst,那么对于的c++方法就是UObject::execIntConst。

这个映射关系是通过IMPLEMENT_FUNCTION这个宏来实现的。
IMPLEMENT_FUNCTION( UObject, EX_IntConst, execIntConst );

看看IMPLEMENT_FUNCTION:

复制代码


作者: haibin0606    时间: 2012-6-14 09:55
好东西。看看了
作者: uououo    时间: 2012-11-13 21:28
好东西。看
3D1
作者: 今生有缘    时间: 2012-11-19 10:27
特好奇。看看了

作者: ekko    时间: 2014-7-5 21:31
好东西。看看了




欢迎光临 游戏乐悠悠网游开发网 (http://bbs.yxlyy.club/) Powered by Discuz! X3.2