browser request server端源代码解析

一、文件功能概览
1、main.js 入口,封装网络IO、GS配置、后台监控接口等
2、worldserver.js GS(一条线),维护玩家、NPC、怪物、道具、物品、地图、刷怪区、主城等,
需要玩家间交互的逻辑,以此处作为交互的接口
3、Map.js 维护整张地图数据,其中包括zone尺度、刷怪区、障碍点、常规实体、坐标与grid索引相互转换等
4、checkpoint.js 刷新点
5、Area.js 某块地图区域
6、chestarea 和平区
7、mobarea 刷怪区
8、chest 宝箱
9、mob 怪物
10、entity 基本实体
11、character 可以交互的对象(HP、攻击等)
12、item 一般道具
13、npc
14、player 一个玩家
15、properties 怪物数值
16、WS 网络抽象
17、format.js 验证消息参数是否有效
18、formulas 属性计算公式,当前只有伤害值
19、message 消息定义
20、metrics 配置、监控、查询

二、基本约定
mob 怪物
zone 一个map子区域
group 玩家分组对应一个zone,
tile 一个坐标单位

三、地图数据结构
map.doors zone连通关系, 实例 {"x":152,"y":202,"p":0,"tcx":120,"tcy":205,"to":"d","tx":123,"ty":208} x y源坐标、tx ty 目的坐标 tcx tcy 目的中心
map.checkpoints 刷新点(可以作为出生点)例子 {"id":1,"x":14,"y":210,"w":9,"h":2,"s":1} s表示是否是出生点
map.collisions 障碍点
map.roamingAreas 刷怪区 例子 {"id":0,"x":10,"y":206,"width":13,"height":7,"type":"rat","nb":3} nb number:个数,type 怪物类型
map.chestAreas 主城 {"x":123,"y":113,"w":8,"h":5,"i":[23],"tx":127,"ty":115} i:items道具 tx,ty箱子的位置
staticChests :[{"x":157,"y":141,"i":[61]}, // 位置,
"staticEntities": 静态环境 {"1305":"spectre","1585":"spectre", // tile索引(一维)对应的怪物

四、继承关系:
entity
item
npc
character----player
mob
area---chestarea
mobarea
五、消息处理 玩家的所有的消息处理函数位置 player.js :line 27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值