![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏开发实习笔记
真滋养
这个作者很懒,什么都没留下…
展开
-
让方法更加通用和降低参数的学习成本(二)
在定义接口的时候,为了更加通用,可能会定义一些不是必须的参数,例如:function M:updateUI(star_level, wake_level, horizontalAlignment, hIntervalPercent) --(布局) 默认居中 self.horizontalAlignment = self.horizontalAlignment or 1 --(间隔) 默认每颗星星间隔为0 self.hIntervalPercent= self.hIntervalPer原创 2021-01-10 15:02:04 · 113 阅读 · 0 评论 -
让方法更加通用和降低参数的学习成本(一)
在业务需求变动的时候可能需要修改方法,修改的时候需要考虑如何降低方法参数的学习成本和怎么才能让方法更加通用。下面代码是用来刷新属性面板的脚本:--属性值由等级,星级决定 例如:hp = 星级 * 1.5 + 等级 * 2function M:updateBaseAttributes(hero, copy_hero) --更新属性面板 --设置头像 属性 名字 提升 ... --用高一级的copy_hero来计算提升的数值end--- up_key 支持 [星级, 等级]function M原创 2021-01-08 23:34:38 · 302 阅读 · 0 评论 -
游戏开发实习笔记:修改接口时的注意事项
修改接口时的注意事项有时候我们需要修改接口来满足自己的需求,例如这段代码中只提供了根据key值寻找value:local tab = { a = "A", b = "B"}function searchSomething(key) return tab[key]endprint(searchSomething("a"))如果我们还需要通过value来寻找key值呢?function searchSomething(key) return tab[key]原创 2020-12-15 21:52:12 · 193 阅读 · 0 评论 -
游戏开发实习笔记:Lua中获取table长度的坑
Lua中获取table长度的坑在Lua中表的索引值默认是从1开始的,在用键值对的方式添加数据时默认从1向上累加作为key值。local objIds = { "a",--objIds[1] = "a" "b",--objIds[2] = "b" "c",--objIds[3] = "c"}print(#objIds) -- 3上面代码可以获得表的长度为4,没有问题。local objIds = { "a",--objIds[1] = "a" "b",-原创 2020-12-09 22:01:16 · 552 阅读 · 0 评论 -
游戏开发实习笔记:代码逻辑让前后端数据传输更安全(双端验证)
代码逻辑让前后端数据传输更安全(双端验证)客户端在涉及到数据传输的前后端交互逻辑时,我以前的想法是客户端点击UI,将数据传输给服务器做处理,然后服务器将结果返回给客户端。就拿商品交易逻辑来举例:这个逻辑有着漏洞,如果放在商业项目会导致经济损失。步骤2中客户端将要出售的物品和拿到的价格发给服务器,这时候如果用户进行抓包,修改其中的数据(出售一件配置表中1元的物品,将数据改为1000),服务器就会将错误的数据存储起来。同样,服务器将数据发给客户端的过程也不安全,抓包修改数据后客户端会显示错误的数据。原创 2020-12-09 21:23:23 · 369 阅读 · 0 评论