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 ...
随机推荐
- s3c2440之cache
cache高速缓冲存储器注意与块设备页高速缓存进行区别,一个是硬件的实现一个是软件的实现,块设备页高速缓存. s3c2440/s3c2410里面主要有一个arm920t的核,但同时包含几个协处理器,协 ...
- ajax 获取 mysql 保存的图片显示
function ajax_GetFirstData(data) { var len = data.Data.length; if (len > 0) { $("#jquery_jpl ...
- 自己利用jQuery实现的win8图标浮动更新
在学校参加网页设计大赛时,由于美工设计的刚好是metro风格的(其实她们从来没有用过win8也没有了解过),而本人也很喜欢win8的界面,于是就做了一个metro风格的作品.虽然最终没能获奖,但是觉得 ...
- 3.9 spring-自定义标签解析
到这里,我们已经完成了分析默认标签的解析与提取过程,或许设计的内容太多,我们忘了我们是冲哪个函数开始了的, 让我们再次回顾一下默认标签解析方法的起始方法. 入口如下: /** * Parse the ...
- localStorage 便签功能实现
之前利用localStorage写过手机便签应用,因为蛋疼的换了台三星的屌丝级手机,木 有了测试的工具,没能继续优化维护下去.而在网页上实现便签功能目前来说似乎没有太大 的意义,因为不论是 Firef ...
- 团体程序设计天梯赛-练习集L1-007. 念数字
L1-007. 念数字 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 翁恺 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先 ...
- Cloud Insight 和 BearyChat 第一次合体,好紧张!
说到 ChatOps 我们可能立刻想到是 Slack(啥?没听过?哦!),但是由于国内网络和语言的问题你可能无法拥有很好的体验了.那就把目光转回国内吧,国内的话就不得不提到 BearyChat 等 C ...
- 跨平台Unicode与UTF8互转代码
参考来源:http://blog.csdn.net/flying8127/article/details/1598521 在原来原基础上,将代码整理,并加强安全性. 并按照WindowsAPI设计, ...
- android 图片画画板
canvas.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
- 二维图形的矩阵变换(三)——在WPF中的应用矩阵变换
原文:二维图形的矩阵变换(三)--在WPF中的应用矩阵变换 UIElement和RenderTransform 首先,我们来看看什么样的对象可以进行变换.在WPF中,用于呈现给用户的对象的基类为Vis ...