- 博客(68)
- 资源 (63)
- 收藏
- 关注
原创 关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)
最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本。Windows平台上表现很正常,没有出现什么问题。上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了。没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了。好
2014-06-23 16:29:24 3728 1
原创 cocos2dx实现功能强大的RichText控件
最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控件来显示聊天内容,结果在使用的时候才发现,cocos2dx的RichText功能非常有限,完全不具备实现聊天的功能,只实现了加入文本、图像和自定义控件的功能,支持不同字体、颜色、字号。 我个人认为,一个RichText控件应该具备以下基本功能: 1、多样化的文本显示功能,包括字体、颜色、字号的设
2014-05-18 11:35:14 21375 37
原创 关于cocos2dx手游lua文件加密的解决方案
很多使用cocos2dx+lua做游戏的同学,都会想到一个问题,我的游戏一旦发布,怎样才能保证的我脚本代码不被破解,不泄露代码。虽然这和开源、共享的原则不合,但是代码也是coder的劳动成果,理应得到保护。特别是商业游戏更是如此,不希望被别人破解掉源码并且进行修改。 今天的话题就是如何实现lua脚本文件的加密和解密。 我在网络上查过,都没有成熟的解决方案。然后我经过考虑
2014-05-15 09:11:11 12306 1
原创 关于cocos2dx3.0 UITextField不能使用退格键删除字符的解决方案
近日开始将项目移植到cocos2dx 3.0版本,出现了一些问题,UI方面目前就发现UITextField控件不能响应退格键或者删除键,在Windows下面调试如此,我开始以为是平台支持不好,后来发布到Android后也是如此。 没办法只好跟踪了一下源码。Key操作主要的处理是在CCGLView类里面的GLView::onGLFWKeyCallback()。看了一下其他函数的处理
2014-04-23 14:52:10 3953
原创 Cocos2d-x 3.0 编译出错 解决 error: expected ';' at end of member declaration
最近把项目移植到cocos2d-x 3.0,在整Android编译环境的时候,出现一大堆的编译出错,都是类似“error: expected ';' at end of member declaration”之类的,看了一些编译错误,都是cocos2d-x库里面的代码出错。 经过分析,怀疑可能是编译环境的问题,因为cocos2d-x使用了很多C++11的新特性,这有可能导致老的编译器
2014-04-22 18:42:46 20140
原创 关于Excel到lua的转表工具
关于游戏项目的配置文件,有很多的方案,有些项目有专业的工具,有些则是直接使用json、xml、csv之类的配置文件,使用lua做配置文件的项目也不少。以上方案各有优势,从程序角度看,我认为lua是最容易解析的配置结构,其他几种相对要复杂一点,读写配置的代码量也比较多。 从我的经验来看,策划是很喜欢直接在Excel中配置游戏数据,我们项目使用lua做游戏逻辑开发,因此需要一个Excel
2014-04-08 15:53:00 11411 8
原创 关于内存越界的问题
在上家公司的时候,服务器出了一个很郁闷的问题,做压力测试的时候,一旦人数上到1000多的时候,会不定时的出现崩溃现象,虽然崩溃的地方相同,但是和崩溃的起始点已经相差很远,gdb的断点基本上用处不大。 后来在网上查了许多资料,基本上定位是内存地址越界引起,只是不知道具体的越界地点。 当时我做的第一个措施是把所有的sprintf、memcpy,strcpy等相关容易出现内存
2014-04-03 17:05:35 2762 2
原创 android 创建socket失败
最近在研究写一个棋牌客户端对接网狐的服务器,进展还比较顺利,客户端使用cocos2dx引擎,把我自己的网络库和网狐的数据封装机制对接工作已经做完,登陆、注册服务器,以及房间信息读取这些都已经完成,目前剩下具体的游戏客户端渲染工作尚未完成。 今天来测试一下Android下面能否正常运行,尝试了几次都不正常,后面跟踪过程十分痛苦,最后经过不停的打印Log定位到居然是不能创建socket
2014-03-12 14:36:49 5060 3
原创 编写简易斜45度地图编辑器
最近在研究cocos2dx的地图,最开始使用的是Tiled,这个编辑器做比较小的地图还是比较强大的,不过做大地图的时候,有一些功能不太方便并且有缺陷(包括刷图繁琐以及坐标体系过于复杂,导致寻路比较看起来很不平滑)。于是就酝酿着自己写一个斜45度的地图编辑器。 现在的自己老是不能集中注意力,经常出现思考着思考着就想睡觉的情况,所以导致这个工具写了2周,汗颜啊!使用MFC+GDI实现,目
2014-01-09 16:04:42 9928 1
原创 mysql 大小写敏感的一个解决方案
今天,有同事告诉我,我们游戏登陆的时候,账号和密码没有区分大小写,后来又发现创建账号和角色也没有区分大小写。思考登陆流程之后,应该是Mysql没有区分大小写敏感的问题。 在网上查了一下资料,Mysql支持大小写敏感的解决方案。发现了几种方案。 第一、修改数据库的设置,让Mysql支持大小写敏感,这个方案太激进了,数据库数据太多,这样改保不准会出什么问题。 第二、
2014-01-07 11:07:57 3210
原创 cocos2dx使用TiledMap创建斜45度地图场景
做游戏,场景是一个很重要的部分,如果缺少这一步,很难做出好的游戏,对于cocos2dx来说,有很多2D的地图编辑器可以用,效果都还可以,其中Tiled是支持的比较好的,它支持Tiled编辑出来的几种模式,比如正常、45度地图等。 如果要做小型的手机游戏,使用正常模式就足够了,cocosdx支持的很好,如果要具有3D感,那么可以使用45度正常地图。但是如果要做大场景,比如底图4000*4
2014-01-02 20:29:43 10071 12
转载 关于 cocos2d-x win32 版本的 cpu 占用改良
转自:http://blog.csdn.net/crystal_ooo/article/details/8081873初学 c2dx,下载的 2.02 版本, 发现其 HelloWorld 演示项目,居然一直占据了 100% 的 CPU。猜测它有可能是在主循环里使用了 Sleep(0), 一搜,果然定位到具体代码,它位于 cocos2dx\platform\win32\CCAp
2013-12-03 12:41:06 2005
原创 Android NDK 建立cocos2dx项目
最近开始学习cocos2dx开发手机游戏,搞定了开发环境后,准备开始使用cocos2dx来写demo了。 用惯了VS建立项目方式,发现用cocos2dx开发建立一个工程都是很难,勉强把cocos2dx的hello world跑起来了,但是如何新建项目却不会,在网上查了,自动构建项目还要去下载python,对于我这样的新手来说,实在是太困难了。而且我特别不喜欢依赖过多的项目。还有一种
2013-11-14 13:03:51 3229
原创 Android NDK 构建开发环境并运行第一个NDK示例
最近开始研究Android开发,由于Android SDK基本不熟悉,Java一知半解,1年前大概玩了一下,写了一个扫雷,一个连连看,对Android SDK的API不熟悉,最终放弃了继续学习。因此这次研究选择NDK开发是我的首选,不过作为Android新人,建立开发环境以及运行第一个例程实在是费了我很多时间和脑细胞呀。看了很多过时的教程,最后好不容易跑起来了。下面开始介绍如何搭建开发环境。
2013-11-13 09:42:33 4944 7
原创 Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT)错误的解决方案
今天,测试组的同事在群里突然说自己账号里面角色的名字乱码了,我猜想应该是和数据库有关,还没解决又有一位同事和我说不能创建角色了,我看了DBServer的日志发现了一条错误: 15:41:30| module :DBAENGINE ERROR>> databaseID = 1 database name = cogame, asynchronism queue ID = 0, data
2013-10-26 16:04:35 3312
原创 从零开始编写网络游戏--基础篇(1)
最近2周比较忙,没有抽出时间来写Blog,不过在这段时间里面把整个思路理了一遍,梳理了一下大纲,以后会多抽时间来写Blog。 好了,言归正传,做任何事情都需要一定的基础,没有坚实的地基,是不可能建立雄伟的大厦的。所以我在整个系列博文的最前面,把一些最基础的东西先整理出来,为后面的系统做铺垫。 本篇的内容,会介绍几个内容:单例,dll动态加载以及一些跨平台的处理。
2013-09-16 13:38:00 3848 3
原创 翻转队列的实现
在多线程中,经常会出现这样一种模式,A线程向队列L中push元素,B线程从队列L中pop元素,为了线程安全,必须在A push的时候加锁,然后在B pop的时候也加锁,这是一个典型的生产者消费者模式,这样显然会降低程序的效率。那么怎样来优化这种情景呢? 我们可以使用翻转队列(又称交换队列)来提交这个模型的效率,设计思想是使用2个队列L1,L2,A还是继续向L1中push元素,但是
2013-09-09 16:20:26 4696
原创 VS2010/VS2012 设置全局头文件和库路径
在VS2010之前,设置项目的全局头文件和库路径是非常方便的,直接选择菜单Tools->Options->Projects and Solutions->VC++ Directories,然后在includes和libs后面添加指定的路径即可。 在VS2010发布之后,上面这个方法已经失效了,设置的方法改了,作为一个从VC6.0、VS2003、VS2005、VS2008一路走过来
2013-09-04 23:50:04 25022 4
原创 ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist
公司的电脑一直是用的XP,为了用上VS2012,昨天重装了系统,win7好像比XP要快多了呀!最近一直在调压力测试,今天把服务器上的数据库备份还原到我本地,创建测试账号的时候,突然爆了这个错误:ERROR 1449 (HY000): The user specified as a definer ('root'@'%') does not exist;这个问题以前也遇到过,应该是账号授权的
2013-09-04 18:30:05 8487
原创 从零开始编写网络游戏--卷首语
进入大四之后,进过短暂的软件开发简历之后,我毅然决定进入游戏开发行业,转眼间已经过去5年半了,在这个过程中,有过迷茫,有过放弃、有过疑惑,但是更多的是收获的喜悦。 从一个游戏开发实习生到目前的项目主管,在技术上成长了很多,在管理上才开始起步。但是在这5年的时间中,除了写过的代码,我鲜有文字记录留下来,这不是一个很好的习惯。在随后的一两年时间内,我争取把自己在游戏开发业内的一些经验
2013-08-27 23:51:34 4205 8
原创 MySQL存储过程where条件执行失败的问题
前几天对服务器实体做了属性缓存机制,当时测试也没有出现大的问题,昨天有人跟我说,登陆的时候角色等级显示错误,我复测了一下,发现不只是等级错误,进入游戏后角色位置、金钱、经验等数据都错了。 跟踪了半小时,发现是数据库的数据出错了,玩家下线保存角色数据的时候,居然将数据库内所有角色的数据都改了,然后赶紧去看存储过程,但是看不出存储过程的错误。先贴一下存储过程的实现:CREATE
2013-08-27 09:37:56 4344 4
原创 修改lua的文件加载器,自定义lua文件加载
Lua提供高级的require函数来加载运行库。1. require会搜索目录加载文件2. require会判断是否文件已经加载避免重复加载同一文件。require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是一个目录列表。require的路径是一个模式列表,每一个模式指明一种由虚文件名(require的参数)转成实文件名的方法。更明确地说,每一个模式是一个包含可选的
2013-08-26 14:51:59 11035 1
原创 关于“网游屏蔽字简繁混合”的解决方案
项目最近开始向版署申请版号,反馈的一项修改内容,是聊天屏蔽字库简繁混合未能屏蔽。比如“abc”和“ABC”都能屏蔽,但是类似"AbC”,“aBC”这些不能屏蔽(大小写代替简繁体)。 上网查了下资料,最后的解决方案是,把发送字符全部转为简体,然后在跟屏蔽字库的字符进行比较。 代码实现如下,接口是给lua使用:static int luaA_simplify(lua_St
2013-08-26 14:12:17 4350
原创 Win7 应用程序无法正常启动(0xc000000d)的解决方法
自从重装了WIN7系统后,VS2010编译出来的项目程序就不能正常启动,启动的时候总是提示 “应用程序无法正常启动(0xc000000d)。请单击‘确定’关闭应用程序。” 。 在网上查找了很多解决方案,安装了很多补丁,还是不能解决我的问题。很郁闷,重装VS也不能解决问题。程序不能调试,让我抓狂的很,代码都写不下去了。 后来一个偶然的机会,发现项目所在的磁盘格式不是NTFS
2013-08-25 11:36:39 29610
原创 游戏开发图书推荐--我读过的技术经典图书
很多新同学问我学游戏开发应该看些什么书,我在这里抛砖引玉,给一份推荐表,希望大家共同提高。程序语言:工欲善其事必先利其器,游戏开发属于软件开发,因此学几门编程语言是必要的。C++:虽然目前电脑性能越来越强大,C++凭借其优异的性能,是游戏开发首选。当然C++因为功能强大,也是最难学的语言之一。1、C++ Primer:经久不衰的C++经典图书,一本C++的百科全书,比较适合入门
2013-08-24 13:05:01 7170 1
原创 S_OK,S_FALSE,E_FAIL
今天在调试一个ICOP的操作的时候,发现连接被动关闭的时候老是会在一处断言处失败,跟了很久终于发现了问题。在此记录一下:断言报错的代码如下:HRESULT CIoCPWorker::UnregIoTask(HRESULT hIokey){ ENTER_CALL("CIoCPWorker_UnregIoTask"); ASSERT_(SUCCEEDED(hIokey)); _
2013-08-24 09:36:04 4802 1
原创 MFC若干小问题解决方案(1)
一、在浮动面板中动态创建CButton之后,按钮初始状态变灰的问题1、afx_msg void OnUpdateBtn(CCmdUI* pCmdUI);2、ON_UPDATE_COMMAND_UI(IDC_BROWSER, &ImageInfoView::OnUpdateBtn)3、void ImageInfoView::OnUpdateBtn(CCmdUI* pCmdUI)
2012-07-19 16:39:59 2452
MFC重写的CEGUI界面编辑器
2014-11-29
CEGUI深入解析
2012-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人