游戏开发
帘卷西风
对技术执着有代码洁癖希望和志同道合的人一起互相学习分享
展开
-
修改lua的文件加载器,自定义lua文件加载
Lua提供高级的require函数来加载运行库。1. require会搜索目录加载文件2. require会判断是否文件已经加载避免重复加载同一文件。require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是一个目录列表。require的路径是一个模式列表,每一个模式指明一种由虚文件名(require的参数)转成实文件名的方法。更明确地说,每一个模式是一个包含可选的原创 2013-08-26 14:51:59 · 11201 阅读 · 1 评论 -
cocos2dx实现功能强大的RichText控件
最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控件来显示聊天内容,结果在使用的时候才发现,cocos2dx的RichText功能非常有限,完全不具备实现聊天的功能,只实现了加入文本、图像和自定义控件的功能,支持不同字体、颜色、字号。 我个人认为,一个RichText控件应该具备以下基本功能: 1、多样化的文本显示功能,包括字体、颜色、字号的设原创 2014-05-18 11:35:14 · 21487 阅读 · 37 评论 -
关于cocos2dx客户端程序的自动更新解决方案
随着手机游戏的不断发展,游戏包也越来越大,手机网络游戏已经超过100M了,对于玩家来说,如果每次更新都要重新下载,那简直是灾难。而且如果上IOS平台,每次重新发包都要审核,劳神费力。所以当前的主流手游都开始提供自动更新的功能,在不改动C++代码的前提下,使用lua或者js进行业务逻辑开发,然后自动更新脚本和资源,方便玩家也方便研发者。原创 2014-07-10 11:24:49 · 6300 阅读 · 42 评论 -
创建角色随机名字(mysql抽取随机记录)和mysql游标的使用
最近在开发中遇到了一些问题,在此记录一下解决的方法,已作备忘。 1、现在创建游戏角色的时候,基本上都是支持角色名字随机的,以前此功能在客户端用代码实现,然后向服务器请求并验证,后来发现有时候连续几次都失败,所以改成在服务器实现。实现方法主要考虑使用mysql随机查询记录,在网上查了很多方案,然后用在了我们游戏中。 实现方案是,将所有随机名字都插入到一张表中,然后从中随机取一条当前角色表中没有出现过原创 2014-09-25 19:02:06 · 4066 阅读 · 0 评论 -
关于cocos2dx之lua使用TableView
在手机游戏的开发中,滚动是一项非常重要的操作,而cocos2dx中使用的最广泛的就属于TableView了,不过由于cocos2dx的接口比较晦涩,所以需要一个熟悉的过程。本文主要讲解如何使用TableView。 首先当然是创建一个TableView,这比较简单,和其他控件差不多。看看示例代码: self._skillView = cc.TableView:create(cc.size(wi原创 2014-09-30 16:02:45 · 16675 阅读 · 0 评论 -
关于cocos2dx中文转UTF8码的解决方案
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) cocos2dx支持中文显示,只要将中文字符转换成UTF-8字符集就可以正常显示,不过在实践上还是会出现很多问题会困扰开发者。 通常来说,目前的解决方案有以下几种: 1、把代码文件(.h/.cpp/.lua等)的文件编码格式改成UTF-8格式即可,这对于单机游戏来说是很好的解决方案。但是对于服务器传过来的原创 2014-09-23 11:52:37 · 5703 阅读 · 5 评论 -
开源CEGUI编辑器之一(MFC重写的LayoutEditor)
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 最近在整理自己几年前一直在研究的一套代码,使用OGRE+CEGUI开发的客户端引擎框架。当年自己倾心研究的东西,终究还是没能挺过时间的车轮,逐渐失去价值。以后估计再也没有时间去扩展和使用了,所以打算整理好之后将之逐步开源,希望能给喜欢研究这类端游技术的朋友吧。 今天最先放出一套UI编辑器的源码吧,CEGU原创 2014-11-29 00:13:53 · 5046 阅读 · 9 评论 -
开源CEGUI编辑器之二(MFC重写的ImagesetEditor)
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 最近在整理自己几年前一直在研究的一套代码,使用OGRE+CEGUI开发的客户端引擎框架。当年自己倾心研究的东西,终究还是没能挺过时间的车轮,逐渐失去价值。以后估计再也没有时间去扩展和使用了,所以打算整理好之后将之逐步开源,希望能给喜欢研究这类端游技术的朋友吧。 CEGUI自己也有编辑器,但是是使用类似MF原创 2014-11-29 00:53:37 · 4101 阅读 · 3 评论 -
关于mysql自增id的获取和重置
mysql获取自增id的几种方法使用max函数:select max(id) from tablename 优点:使用方便快捷。缺点:获取的不是真正的自增id,是表中最大的Id,如果有删除数据的话,那么该值和自增id相差比较大。如果有连表数据,有可能导致数据错乱。使用LAST_I原创 2015-08-08 09:44:58 · 25567 阅读 · 0 评论 -
关于cocos2dx手游lua文件加密的解决方案
很多使用cocos2dx+lua做游戏的同学,都会想到一个问题,我的游戏一旦发布,怎样才能保证的我脚本代码不被破解,不泄露代码。虽然这和开源、共享的原则不合,但是代码也是coder的劳动成果,理应得到保护。特别是商业游戏更是如此,不希望被别人破解掉源码并且进行修改。 今天的话题就是如何实现lua脚本文件的加密和解密。 我在网络上查过,都没有成熟的解决方案。然后我经过考虑原创 2014-05-15 09:11:11 · 12358 阅读 · 1 评论 -
关于Excel到lua的转表工具
关于游戏项目的配置文件,有很多的方案,有些项目有专业的工具,有些则是直接使用json、xml、csv之类的配置文件,使用lua做配置文件的项目也不少。以上方案各有优势,从程序角度看,我认为lua是最容易解析的配置结构,其他几种相对要复杂一点,读写配置的代码量也比较多。 从我的经验来看,策划是很喜欢直接在Excel中配置游戏数据,我们项目使用lua做游戏逻辑开发,因此需要一个Excel原创 2014-04-08 15:53:00 · 11492 阅读 · 8 评论 -
关于“网游屏蔽字简繁混合”的解决方案
项目最近开始向版署申请版号,反馈的一项修改内容,是聊天屏蔽字库简繁混合未能屏蔽。比如“abc”和“ABC”都能屏蔽,但是类似"AbC”,“aBC”这些不能屏蔽(大小写代替简繁体)。 上网查了下资料,最后的解决方案是,把发送字符全部转为简体,然后在跟屏蔽字库的字符进行比较。 代码实现如下,接口是给lua使用:static int luaA_simplify(lua_St原创 2013-08-26 14:12:17 · 4414 阅读 · 0 评论 -
MySQL存储过程where条件执行失败的问题
前几天对服务器实体做了属性缓存机制,当时测试也没有出现大的问题,昨天有人跟我说,登陆的时候角色等级显示错误,我复测了一下,发现不只是等级错误,进入游戏后角色位置、金钱、经验等数据都错了。 跟踪了半小时,发现是数据库的数据出错了,玩家下线保存角色数据的时候,居然将数据库内所有角色的数据都改了,然后赶紧去看存储过程,但是看不出存储过程的错误。先贴一下存储过程的实现:CREATE原创 2013-08-27 09:37:56 · 4416 阅读 · 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 · 8563 阅读 · 0 评论 -
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 · 3350 阅读 · 0 评论 -
cocos2dx使用TiledMap创建斜45度地图场景
做游戏,场景是一个很重要的部分,如果缺少这一步,很难做出好的游戏,对于cocos2dx来说,有很多2D的地图编辑器可以用,效果都还可以,其中Tiled是支持的比较好的,它支持Tiled编辑出来的几种模式,比如正常、45度地图等。 如果要做小型的手机游戏,使用正常模式就足够了,cocosdx支持的很好,如果要具有3D感,那么可以使用45度正常地图。但是如果要做大场景,比如底图4000*4原创 2014-01-02 20:29:43 · 10203 阅读 · 12 评论 -
编写简易斜45度地图编辑器
最近在研究cocos2dx的地图,最开始使用的是Tiled,这个编辑器做比较小的地图还是比较强大的,不过做大地图的时候,有一些功能不太方便并且有缺陷(包括刷图繁琐以及坐标体系过于复杂,导致寻路比较看起来很不平滑)。于是就酝酿着自己写一个斜45度的地图编辑器。 现在的自己老是不能集中注意力,经常出现思考着思考着就想睡觉的情况,所以导致这个工具写了2周,汗颜啊!使用MFC+GDI实现,目原创 2014-01-09 16:04:42 · 10064 阅读 · 1 评论 -
关于网狐棋牌的数据库
前不久放出了我自己原创 2014-04-06 12:53:12 · 15347 阅读 · 20 评论 -
linux利用shell实现守护进程的脚本
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)在游戏开发领域,服务器宕机那是家常便饭。本文简单介绍如何利用linux的shell脚本实现简单的守护进程。Shell代码如下#!/bin/sh#添加本地执行路径export LD_LIBRARY_PATH=./while true; do #启动一个循环,定时检...原创 2016-07-26 15:13:03 · 20245 阅读 · 4 评论