- 博客(8)
- 收藏
- 关注
原创 2016/08/18
在做工会的时候遇到一个问题:需要获取当前工会的所有成员的一些属性然后发到客户端,一开始想到的做法是根据成员的id(工会的表中会存成员的id,但是其他的信息就没有了)去查询数据库,获取想要的某几个字段,后来发现这样有个问题:数据不是实时更新的。而且,不光工会需要取玩家的数据,其他地方比如聊天什么的也需要取得玩家的数据,每次请求查询数据库显然是最低级的办法。解决方案是:构造一个player的管理类,新
2016-08-18 20:58:17
208
原创 2016/08/10
今天大半天都在查一个bug:有一个变量莫名其妙的被修改了,然而找遍了所有该变量修改的地方,发现都不是,在快奔溃的时候发现把该变量作为参数传到了某个方法里面,然后对该参数做了修改,由于这个变量是个对象,所以对该参数的修改直接导致了该变量的修改,所以下次要谨记:在把对象当作参数传入方法的时候,要小心对该参数的修改就是对该对象的修改。
2016-08-10 17:50:21
180
原创 2016/08/08
偷懒了好多天。。。今天就写一下如何解决蛋疼的前后端脚本同步问题。之前逻辑已经实现的差不都了,但是最烦的是前后端代码还是有略微的不同,主要体现在调用的方法上,参数的话已经尽量保持一直了。那么,既然参数一致,就可以把a方法通过定义的形式重定向到b方法上,比如在服务端的数据库查询方法是db.query,客户端的是game.storage.query,那么后客户端的随意一个全局的位置上写var
2016-08-08 20:55:30
187
原创 2016/08/03
上次说到为了减少数据库的读写压力,可以把对同一条数据的多次update操作合并,后来发现还可以进一步合并:update+update->update多次update,后面的操作直接覆盖之前修改的字段insert+update->insert插入后修改,则视为插入,只不过后来的update覆盖insert的字段update+delete->delete只要后面
2016-08-02 17:54:30
219
原创 2016/07/29
数据库操作与验证的平衡:之前做客户端操作同步到服务端的时候,一开始并没有把响应的操作放到数据库操作的回调中,这样的好处是流程是顺序执行的,不用考虑数据库操作回调产生的异步性,但是这样假如数据库操作出现异常,就会造成内存与数据库的数据不同,造成错误。现在的方式是把同步内存放到数据库回调中,然而又引来了另外一个问题:原来的用于校验的返回值由于顺序执行的关系,在最后返回的时候可以得到正确的结果,现在
2016-07-29 17:46:42
190
原创 2016/07/28
争取每天都写一点当天的工作总结,毕竟记性比较差。。。那今天就写菜鸡学写服务端代码。。。最开始写服务端的时候没有经验,只是单纯的会语法,写之前也没有规划一个整体的架构,导致写的时候东一块西一块,在同事的指导下,有如下以后可以借鉴的思路:1.把各个模块分离出去,不要都写到一个总的对象中。比如一开始接手的时候,借鉴的之前的项目,把玩家所有的信息都放到一个pi对象中,这个pi存在服务器的一
2016-07-28 17:18:35
238
原创 UCGUI上MULTIPAGE画线等图形实现办法
MULTIPAGE控件提供了一系列API可以很方便的添加其他控件在它的tab页上,但是同时碰到一个问题:假如我想要在某个tab页上用GUI_DrawLine画一些线怎么办?首先我想到用multipage每一页的dialog控件,WM_SelectWindow后在上面操作,尝试后发现一点反应都没有。查阅官方文档uC-GUI_User_Manual_522.pdf,发现有两个API:MULTI
2014-04-03 17:16:48
1570
原创 多任务时的参数传递处理
背景:在开发板上判断旋钮左旋和右旋从而控制一个数的增加和减小(TASK A),同时在LCD上显示这个数(TASK B)。问题:假设左旋一下,则在LCD上显示左旋了很多下,用串口显示确实多次操作了。思考:认真思考后发现问题出在任务的同步上,当A从开始到结束,有可能B已经运行很多次了,这就导致了多次判断出错。解决:A:if (Knob_num && Knob_dir) {
2014-04-03 16:48:13
608
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人