简介
前阵子公司说准备试一试h5,于是我决定研究一下,而对于像我这种没有客户端经验的来说,选择一款入门简单的h5框架,能省不少事。当时毫不犹豫的就选择了egret(别问我为什么,我也不知道),把整个文档简单过了一遍之后,就撸起袖子准备搞事,决定做一款赢三张H5来练练手,于是好戏就这么开场了。。
不知道有没有人玩过皮皮麻将,这个跟他玩法基本一致,自己先开房间,然后邀请别人来比赛,每个房间固定能玩5局,最终结算积分,下面先贴一下游戏截图,注:很多资源都是从欢乐赢三张APP里面借(chao)鉴(xi)的。
项目介绍
客户端使用egret框架,语言使用ts(js的超集),最终都会生成为js,而服务端则是使用php,服务端框架是yaf(鸟哥出品),协议使用websocket,网关使用fooking。
client //客户端源代码 libs //egret的库文件 bin-debug //debug版本代码 bin-release //release版本代码,发布的时候需要从这个目录copy文件 resource //资源文件,包括图片和skin(这个目录是经过tm合并过的文件) resource-all //这个是资源文件没有经过tm合并的 src //这就是源代码了 index.html //入口文件(这个文件发布后会命名为game.html)web //网页相关 api //游戏相关http的api,如登录、服务器信息等 api.php //api统一入口文件 game //游戏客户端目录 libs //egret库文件 resource //资源文件 game.html //游戏页面 index.html //入口页面(这个页面会根据不同版本跳转,防止客户端cache) main.min.js //整个游戏逻辑代码 version.js //game.html文件的版本号server //服务端代码 config //配置文件 controllers //控制器 crontab //定时器,主要用于处理断开连接的玩家 library //库文件 models //具体逻辑 protocol //协议部分tools //工具 release.php //发布版本的时候,需要执行这里,会复制client/bin-release/web/v1目录下的文件,并且处理版本号
客户端配置
只需要使用nginx或者apache,将目录指向web/game目录即可
API配置
需要支持php环境,然后将目录指向web/api目录即可。如果api的域名不是127.0.0.1,可以在web/game/game.html中修改API_SERVER。
服务端配置
服务端部分使用php,那么跟客户端交互使用fooking来维护长连接,所以必须要需要先架设fooking,这里就不详细讲了,感兴趣的朋友可以
点击这里,然后将目录指向server即可,配置端口号9005.
服务端还需要使用redis,用来保存游戏信息(同时别忘了php要安装phpredis扩展哦),然后配置有两个地方,一个是server/config/redis.php,另一个是web/api/api/include/config.inc.php。
结语
这是我初学egret练手项目,难免有些地方处理欠妥,如果有入不了法眼的地方,望轻喷。同时还希望各位能提供更好的建议和意见。