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 ...
随机推荐
- Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...
- 修改radio、checkbox、select默认样式的方法
样式 radio select checkbox 兼容性 现在前端页面效果日益丰富,默认的input组件样式显然已经不能满足需求.趁着这次开发的页面中有这方面的需求,在这里整理一下修改radio.ch ...
- 图片流滚动效果html代码(复制)
<!doctype html> <html> <head> <meta charset="utf-8" /> < ...
- uva 10608
简单并查集 水水..... #include <cstdio> #include <cstring> #define maxn 30005 int fa[maxn],ans[ ...
- C/C++中几种经典的垃圾回收算法
1.引用计数算法 引用计数(Reference Counting)算法是每个对象计算指向它的指针的数量,当有一个指针指向自己时计数值加1:当删除一个指向自己的指针时,计数值减1,如果计数值减为0,说明 ...
- struts2 标签库 介绍
struts2.0里的标签没有分类,只用在jsp头文件加上<%@ taglib prefix="s" uri="/struts-tags" %>就能 ...
- JAVA面试题:equals()方法和== 区别
http://bbs.csdn.net/topics/390000725 总结: equals在没重写之前和==一样,重写之后,equals只要内容一样即为true equals跟==一般情况下是等价 ...
- Jmeter java协议测试jar和依赖jar的路径研究
昨天在使用2.12版本的jmeter时,执行多机负载测试一直报错,最终查明是使用不当的问题,现将详情记录如下,使用jmeter测试java协议脚本时要注意以下几点: 1. jar包的方式路径一定是这样 ...
- 【疯狂Java讲义学习笔记】【数据类型与运算符】
[学习笔记]1.8bit = 1byte,4byte = 1word.Java中的整型数据有byte(1字节),short(2字节),int(4字节),long(8字节).Java中的浮点数据有flo ...
- AAC ADTS AAC LATM 格式分析
http://blog.csdn.net/tx3344/article/details/7414543# 目录(?)[-] ADTS是个啥 ADTS内容及结构 将AAC打包成ADTS格式 1.ADTS ...