
游戏编程技术
雨的味道
到了沉淀的年纪了!
展开
-
关于lua中table.sort排序的潜规则
最近项目中用到了table.sort,发现在某些情况下自定义的排序函数中会报nil的错误,理论上对table中元素排序是不可能出现nil的。有个同事找到了一篇文章,讲的是lua的快排有个默认规则。在自定义排序函数中,当排序条件都相同的情况下必须返回false,否则就可能访问越界造成nil。 后来处于好奇我去看了下源码,确实是有这样的规则。但是原来学习C++的时候也写过快排的例子,并没有这种规则限制,写return a<=b排序结果也是完全正确的,为啥lua要加这个限制呢?网上有人说stl中也有原创 2021-01-17 16:18:18 · 1088 阅读 · 0 评论 -
关于Unity中的GameObject销毁所产生的bug记录
有一个逻辑对象A,其中使用new GameObject创建了一个Root节点,然后从GameObjectPool中申请了一个资源(假设名为child),并将其挂在Root上。伪代码如下:A::A(){ root = new GameObject(); child = GameObjectPool.RequestGameObject("xxx"); child.Setparent(root);} 当不再需要对象A时将其销毁,调用析构函数归还资源。伪代码如下:A::~A(){ Gam原创 2020-10-10 18:29:17 · 933 阅读 · 0 评论 -
关于内存越界的一个bug
一、问题背景 某天测试反馈,第一次创建角色后进入游戏,有概率出现主角动画丢失。二、问题分析过程 角色动画一直是我在负责,并且最近也确实改过相关内容,于是从动画系统下手开始查。既然是随机出现,那么我的第一判断是可能跟时序有关。于是把动画和模型资源异步加载的相关代码都过了一遍,但并没有发现什么线索。于是加了一些log开始在本地试,将近50次的新建角色没有重现。由于手头有其他工作,直接把log...原创 2020-03-22 20:51:17 · 198 阅读 · 0 评论 -
9年多的工作总结
牢骚自己到底获得了什么?9年多,在游戏行业摸爬滚打这么多年,总觉得自己也应该已经是别人嘴里的“牛人”、“大佬”了。就像《水手》里唱的“总是拿着微不足道的成就来骗自己”。可是仔细想想自己做了什么?好像真没有拿得出手的成果。战斗相关功能(ARPG)战斗包含哪些模块玩家控制部分:玩家输入、指令转换、状态运转,自动战斗,摄像机操作。战斗辅助部分:技能前置手动辅助、技能释放自动辅助、目标提示、预...原创 2020-03-20 22:10:18 · 752 阅读 · 0 评论 -
传统网络游戏(偏重MMORPG)的模块划分
废话少说,直接上图!原创 2019-02-22 20:10:41 · 1573 阅读 · 0 评论