特别声明(LAYA引擎小游戏产品)
1、LAYA引擎小游戏源码——花房
2、非APP来研发项目,所以请不要商用,仅限学习使用,请24小时务必删除。
3、技术问题请到APP来社团2000人群(QQ:153643834)询问。
游戏截图:
前端文件截图:
后端文件截图:
文档文件截图:
服务器配置:
相关软件版本:
Laya-1.7.21
nginx-1.12.2
mysql-5.6.36
php-7.1.7
swoole-src-2.2.0
文件在linux服务器上都是放在:
所有的服务器上的文件:
/data/
/data/web/
游戏启动文件:
game/sysapi/3server1.php
游戏配置文件:
include/config*
include/db.config.inc.php
启动方式:
nohup php ./3server1.php > /data/web/game/cache/sys_log/server1.log 2>&1 &游戏客户端框架文档 一、 文件目录 bin -------------------------------------------------编译的文件 |-- js ---------------------------------------------编译用户JS |-- libs -------------------------------------------编译引擎以及第三方插件JS |-- proto -----------------------------------------proto协议JS |-- res --------------------------------------------项目资源文件(fairyGUI资源必须放在这个文件夹) |-- index .html---------------------------------入口文件,所有的LayaAir引擎类库或者是第三方类库的JS都需要在这里引入。 laya-------------------------------------------------Laya本身的UI项目的资源文件夹 |-assets------------------------------------------UI页面、粒子等组件所需的图片资源。 |-pages-------------------------------------------LayaAirIDE创建页面布局生成的文件 |-.laya---------------------------------------------LayaAirIDE的UI项目配置文件 libs---------------------------------------------------所有的LayaAir引擎类库或者是第三方类库的JS |-fairygui.d.ts------------------------------------fairyGui的操作类 |-LayaAir.d.ts-------------------------------------LayaAir引擎类 |-protobuf-bundles.d.ts-----------------------protobuf协议生成的ts文件 |-protobuf-library.d.ts-------------------------protobuf协议类 proto-------------------------------------------------proto文件夹 src----------------------------------------------------用户的ts文件 |-const--------------------------------------------用户的设置文件 |-CONST.ts---------------------------------项目的配置文件,例如屏幕大小等 |-event--------------------------------------------项目事件监听文件 |-GAMEEVENT.ts------------------------游戏逻辑事件监听字段 |-NETWORKEVENT.ts------------------网络监听事件监听字段 |-mvc----------------------------------------------游戏场景逻辑 |-baseview-------------------------------游戏场景公用基本类 |-compent-----------------------游戏组件类 |-baseAnimation------动作公共控制类 |-baseBg.ts-------------背景层公共控制类 |-baseScene.ts--------场景层公共控制类 |-baseTips.ts-----------顶层公共控制类 |-baseWindow.ts------窗口层公共控制类 |-login--------------------------------------登录模块 |-loginController.ts------------登录模块控制类 |-loginModel.ts-----------------登录模块逻辑类 |-loginNetwork.ts--------------登录模块通讯类 |-loginView.ts-------------------登录模块视图类 |-gameLayer.ts---------------------------游戏层级管理类 |-net-------------------------------------------------网络通讯类 |-httpProto.ts----------------------------http通讯proto类 |-webSocketProto.ts-------------------webSocket通讯proto类 |-resconfig-----------------------------------------资源管理类文件夹 |-loading.ts-------------------------------loading页 |-reConfig.ts------------------------------资源属性配置文件(这里可以进行资源分组) |-resManager.ts-------------------------资源加载管理类 |-mainGame.ts-------------------------------- js入口文件 flower.laya-----------------------------------------项目导入文件 tsconfig.ts-----------------------------------------项目ts生成文件 二、 项目运行流程: Index.html -> mainGame.ts(初始化项目的各部分) –> resManager (进行loading资源加载)-> loading –> 各模块的控制 三、 事件监听(网络事件的value和游戏事件的value不能相同): 1. 网络事件: src /event/NETWORKEVENT.ts:定义监听的字段,字段的key必须是大写以模块名开头+_+对应的事件(LOGIN_COMPLETE),值格式是”pid_”+数字(例如pid_1) 然后在各模块的network文件做监听处理 发送数据: data = { type:pid_2,//协议类型 data:{}//协议数据(data为不同的协议是不同的key,内容为具体协议的内容) } net/webSocketProto.getInstance().sendMessage(data); 2. 游戏事件: src /event/ GAMEEVENT.ts:定义监听的字段,字段的key必须是大写(ONLOADCOMPLETE),值格式是字符串(例如onloadcomplete) 四、 模块处理部分: 各模块可以继承对应的模块展示类,以方便进行展示控制 数据文件截图:
|