as3+java+mysql(mybatis) 数据自动工具(六)
这篇来写一些常量定义的实例。我一般在配置常量的时候,都会让 bitOffset = 20,这样是一个比较好的分配,就是每个分组可以有 0xFFFFF(1048575) 个常量,0xFFF(4095) 个分组。
游戏中的客户端和服务端都需要的游戏常量,如下
<macros name="MacroDefine" author="idoublewei" note="常量宏定义">
<macro name="ACCOUNT_ROLE_MAX" type="integer" value="2" note="账号下最多可以创建的角色数量"/>
<macro name="ROLE_CAREER_WARRIOR" type="integer" value="1" note="角色职业 - 战士"/>
<macro name="ROLE_CAREER_MAGE" type="integer" value="2" note="角色职业 - 法师"/>
<macro name="ROLE_CAREER_ASSASSIN" type="integer" value="3" note="角色职业 - 刺客"/>
<macro name="ROLE_SEX_MALE" type="integer" value="0" note="角色性别 - 男"/>
<macro name="ROLE_SEX_FEMALE" type="integer" value="1" note="角色性别 - 女"/>
</macros>
因为在该常量定义中,我们是关心常量的值的,基本上不会希望有自动计算的值,所以 groupStart 和 groupEnd,bitOffset 可以不指定。
然后也可以定义一些常用的错误码,如下
<macros name="MacroError" author="idoublewei" note="错误宏定义">
<macro name="NO_RIGHT" type="integer" value="1" note="没有权限"/>
<group note="连接相关">
<macro name="CONNECTION_IDLE" type="integer" value="101" note="你太不活跃了,把资源让给其他人吧。。。"/>
<macro name="CONNECTION_OVERLOAD" type="integer" value="102" note="连接超过最大限制"/>
</group>
<group note="账号模块相关错误">
<macro name="ACCOUNT_UNMATCH" type="integer" value="201" note="账号格式不正确"/>
<macro name="ACCOUNT_EMAIL_UNMATCH" type="integer" value="202" note="电子邮箱格式不正确"/>
<macro name="ACCOUNT_EXISTED" type="integer" value="203" note="账号已存在"/>
<macro name="ACCOUNT_EMAIL_USED" type="integer" value="204" note="电子邮箱已使用"/>
<macro name="ACCOUNT_NONEXISTENCE" type="integer" value="205" note="账号不存在"/>
<macro name="ACCOUNT_PASSWORD_WRONG" type="integer" value="206" note="密码不正确"/>
<macro name="ACCOUNT_LOGINED" type="integer" value="207" note="当前连接已登录了账号"/>
</group>
<group note="角色模块相关错误">
<macro name="ROLE_ACCOUNT_OFFLINE" type="integer" value="301" note="账号未登录"/>
<macro name="ROLE_OVERLOAD" type="integer" value="302" note="角色数量超过最大限制"/>
<macro name="ROLE_NICKNAME_UNMATCH" type="integer" value="303" note="角色昵称格式不正确"/>
<macro name="ROLE_NICKNAME_EXISTED" type="integer" value="304" note="角色昵称已存在"/>
<macro name="ROLE_NONEXISTENCE" type="integer" value="305" note="角色不存在"/>
<macro name="ROLE_LOGINED" type="integer" value="306" note="当前账号已登录了角色"/>
<macro name="ROLE_USEING" type="integer" value="307" note="当前角色正在使用"/>
</group>
</macros>
同样的,我们在错误码中也是关心常量值的,所以也忽略了参数 groupStart,groupEnd 和 bitOffset。
再来看看请求命令的配置,如下
<macros name="MacroReqAndRsp" groupStart="1" groupEnd="100" bitOffset="20" author="idoublewei" note="请求、应答命令宏定义">
<macro name="HEARTBEAT" note="心跳,参数 : null"/>
<macro name="RESPONSE" note="请求响应"/>
<group name="ACCOUNT" note="帐号">
<macro name="ACCOUNT_REGISTER" note="注册账号 - 注册成功后,默认不登录,参数 : loginName, password, email,返回 : TAccountVO"/>
<macro name="ACCOUNT_LOGIN" note="帐号登录,参数 : loginName, password,返回 : TAccountVO"/>
<macro name="ACCOUNT_LOGOUT" note="账号登出,参数 : null,返回 : null"/>
</group>
<group name="ROLE" note="角色">
<macro name="ROLE_RETRIEVE" note="获取指定账号下的角色列表,参数 : accountId,返回 : TRoleVO-List"/>
<macro name="ROLE_REGISTER" note="注册角色,参数 : nickName, sex, career,返回 : TRoleVO"/>
<macro name="ROLE_UNREGISTER" note="注销角色,参数 : roleId,返回 : null"/>
<macro name="ROLE_LOGIN" note="角色登录,参数 : roleId,返回 : TRoleVO"/>
<macro name="ROLE_LOGOUT" note="角色登出,返回 : null"/>
</group>
</macros>
在请求命令中,就不关心常量的具体值是什么了,只要客户端和服务器每次使用时是用的一套配置就绝对没问题,所以这儿为 基本请求(心跳,响应回复) ,账号和角色请求分组 指定的分组号在 1 到 100 之间(包括 1 和 100),当前游戏其它模块的请求命令分组也可以另起一个配置文件,但需要注意的是分组号区别不要重复。
as3+java+mysql(mybatis) 数据自动工具(六)的更多相关文章
- as3+java+mysql(mybatis) 数据自动工具(一)
在页游中,大部分的开发模式都是:客户端(as3)+ 服务端(java)+ 数据库(mysql). 在这3个部分会有一个相同的部分就是数据结构.比如一个用户数据,在客户端使用类 UserVO(as3) ...
- as3+java+mysql(mybatis) 数据自动工具(四)
现在介绍一下只配置 as3 与 java 公用的数据类,这种配置一般是该数据类只需要在 as3 与 java 之间转换,跟数据库没有关系.比如在客户端与服务端的数据交换中,需要定义一个统一返回请求的数 ...
- as3+java+mysql(mybatis) 数据自动工具(七) - 完结
autoscript packed 文件地址:http://pan.baidu.com/s/1dDvgcO5 如果需要项目源码的话,可以留下邮箱,先声明一下,该工具主要是为了实现自动同步输出代码类文件 ...
- as3+java+mysql(mybatis) 数据自动工具(三)
介绍一下数据类配置,该数据类配置主要用于需要将数据库 mysql 数据转换成 java 对象,再转换为 as3 对象的数据类 配置文件为 xml 格式. <objects> <obj ...
- as3+java+mysql(mybatis) 数据自动工具(二)
AutoScript 项目结构如下图 ---AutoScript.java 为程序入口 ---com.autoscript.object 同步 as3 和 java 的数据类 ---com.autos ...
- as3+java+mysql(mybatis) 数据自动工具(五)
现在介绍常量的配置,主要用于客户端(as3)与服务端(java)之间的常量同步,比如错误码.请求标识等 配置格式: <macros name="Macros" groupSt ...
- java+Mysql大数据的一些优化技巧
众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法; 例如,我们要将 ...
- Java+MySql图片数据保存与读取的具体实例
1.创建表: drop table if exists photo;CREATE TABLE photo ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ...
- Java+MySql图片数据保存
之前一直没有做过涉及到图片存储的应用,最近要做的东东涉及到了这个点,就做了一个小的例子算是对图片存储的初试吧! 1.创建表: drop table if exists photo; CREATE TA ...
随机推荐
- 10+ 最流行的 jQuery Tree 菜单插件
jstree – jQuery Tree Plugin With HTML & JSON Data jstree is a lightweight and flexible jQuery pl ...
- uva 1103
弄懂题意后 其实就是一个dfs /************************************************************************* > Aut ...
- 如何保护 .NET 应用的安全?
自从 Web 应用能给访问者提供丰富的内容之后,黑客们就把目光转向任何他们能够破坏,损毁,欺骗的漏洞.通过网络浏览器提供的应用越来越多,网络罪犯们可以利用的漏洞数量也呈指数增长起来. 大多数企业都依赖 ...
- C++11多线程教学(二)
C++11多线程教学II 从我最近发布的C++11线程教学文章里,我们已经知道C++11线程写法与POSIX的pthreads写法相比,更为简洁.只需很少几个简单概念,我们就能搭建相当复杂的处理图片程 ...
- Redis-PHP-Hash 表相关API
Hashes 相关 ================================ hDel - 删除一个哈希 key hExists - 检查哈希 key是否存在 hGet - 获得某哈希 key ...
- linux grep和正则表达式
虽然正则表达式经常都在用,但是很少能够静下心来仔细的总结一下.最近看了一个台湾人的网站叫做鸟哥Linux私房菜,关于正则表达式的描述挺详细的.在此,我进行一下总结,如果想仔细的学习正则表达式,请访问鸟 ...
- fork产生子进程利用pipe管道通信
http://siqun.blog.163.com/blog/static/213496001201341231121720/ 转载链接:http://hi.baidu.com/hj11yc/item ...
- Git教程之分支管理之二
分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个 ...
- SQL Server R2 2008中的SQL Server Management Studio 阻止保存要求重新创建表的更改问题的设置方法
在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你. SQL Server 2008“阻止保存要求重新创建表的更改”的错误的解决方案是本 ...
- 【HDOJ】3686 Traffic Real Time Query System
这题做了几个小时,基本思路肯定是求两点路径中的割点数目,思路是tarjan缩点,然后以割点和连通块作为新节点见图.转化为lca求解.结合点——双连通分量与LCA. /* 3686 */ #includ ...