2.2.5 • Published 6 years ago
e-civ-game v2.2.5
这个项目是毕设游戏部分的实现,目的是基于canvas或着webGL实现一个实时的对战系统.即服务器端进行结果判定,而多个客户端接受整个流程然后实时同步显示出整个对战流程。现在做的很简陋。
API:
GameScene:
Function | Description | Parameter |
---|---|---|
GameScene | 构造器 | PIXI Application对象的所有参数width, height, transparent,antialiasing, resolution等 |
start | 运行游戏 | side:初始化哪组兵种对象为左边, autoSize:元素是否自适应画布大小 |
resize | 改变画布大小 | width, height |
setClientOrServer | 设置是否客户端 | GameScene.SERVER & GameScene.CLIENT |
before,over,after | 设置场景转化的各个阶段的回掉函数 | name: 场景名称, cb: 回调 |
overScene | 指定结束场景 | name: 结束场景名称,pre:结束前回掉,after: 结束后回掉,over:完全结束回掉 |
setToFullScreen | 全屏 | |
setBg | 设置背景色 | bg |
getDriveFrames | 获取驱动帧,一般客户端才使用驱动帧进行动画驱动 | |
setDriveFrames | 设置驱动帧,通过设置驱动帧驱动动画 | frames |
mountAt | 设置挂载点 | target: 挂载dom对象 |
makeScene | 制作场景 | name: 场景名称 cb :如果动态创建场景该参数为回掉函数,接受来自上个场景的结果,如果静态场景,则一个PIXI Container对象 |
getAllScenes | 获取所有场景 | |
setBattleGround | 设置战场 | width, height, layout:指定行列数 或者 width/height object , layout,或者layout |
setFPS | 设置游戏帧率 | FPS |
handleLoadProgress | 设置加载资源回掉 | cb 接受两个参数,resource, loader,见PIXI的loader |
load | 加载资源 | src:资源 callback: 回掉,一般开始都是在该回调中进行调用,这样才能保证资源已经正确加载完成 |
setSoldiers | 设置兵种 | groupName1: 某组兵种数据 groupName2: 另一组兵种数据,数据样本{user:'', soildiers: {soliderType:'',count:0}} |
unmount | 卸载 |
必须注意的 推荐start在load回调函数里调用,并且setBattleGround在load之前定义,最好紧挨着构造函数进行战场的设置
TodoList:
服务器帧率和客户端帧率不一致时导致的问题
服务器端和客户端实时通信同步驱动帧,而不是服务器端跑完之后才将所有驱动帧发送给客户端
客户端resize 问题 ---可以解决
shotItem 的处理方式问题,现在服务器端只有MAL对象保存,而BattleGround对象不保存,还有其初始位置的问题
同一每个场景结束返回值
可自定义兵种类型,及其动作类型
做成一个框架,每个场景有各自的生命周期,可自定义场景加载顺序,场景资源,场景画面,而不是单单的单一战斗画面