概述
目前做Html5游戏发布平台比较有前景的是微信小程序,但是微信有些限制需要注意!
目前做Html5游戏的引擎比较主流的有两个Egret和LayaAir
目前做Html5游戏的语言TypeScript, Javascript, AS3
TypeScript是面向对象语言,开发比Javascript友好。最终会编译成Javascript。主流引擎都支持
Javascript是原生的Html语言, 一般第三方库都会是该语言或者更早期的库
AS3是只有LayaAir支持,LayaAir用该语言开发可以支持发布Flash
HTML5
微信小程序
目前需要注意:
- 程序包最大4M
- 资源存储空间最大50M
- 不支持DOM(window这些对象不能用)
- 微信有自己的websocket,并且对端口有限制只能用80、443。不知道自己用第三方是否可以
- 网络通信需要证书
Egret
LayaAir
2D骨骼动画
- 目前主流的有Dragonbones和Spine
- Dragonbones: Egret和LayaAir 都支持
- Spine: 只有LayaAir 都支持
目前需要注意:
- 引擎支持的版本
- 引擎是否支持动作混合
- 引擎是否支持颜色变换
- 引擎是否支持透明度变换
- 引擎是否支持叠加模式
- 引擎是否支持皮肤换装
- SPINE骨骼数建议最好不要超过200
粒子特效
- Dragonbones和Erget都支持
- 自带粒子系统只能在各自的引擎执行,不能互通
- 都有从Unity导出的工具。需要注意只能导出ParticleSystem的特效,不支持Mesh特效。材质球只能有1张贴图,Shader也是受限的几种
- Dragonbones: 测试感觉是一波一波的发射粒子。做连续发射参数不好调
- Dragonbones: 好像不可以做拖尾
Fairygui
目前需要注意:
- 微信小程序不支持DOM(window这些对象不能用),该框架好像用了
websockt
项目选择倾向
引擎选择 | |||
---|---|---|---|
LayaAir | √ | Egent | |
原因 | |||
|
语言选择 | |
---|---|
TypeScprit | 主用 |
JavaScript | 第三方库和调试用 |
AS3 | 只有LayaAir支持, 为了向趋势靠拢不用AS3 |
2D骨骼动画 | ||
---|---|---|
Spine | Dragonbones | |
LayaAir 支持版本 | 3.4.0.2 ~ 3.7.0.1 | 4.5.0 ~ 5.1.0 |
Erget 支持版本 | 不支持 | 5.6.0 |
UI | |
---|---|
FairyGUI | √ |
引擎自身 |
需要去验证的问题
- 验证发布微信包大小
- 验证发布微信资源大小
- 验证发布微信FairyUI是否可用
- 测试Spine切换动作
- 测试Spine切换朝向
- 测试tween
屏幕分辨率
360 x 640 0.5625 Galaxy 720 x 1280 0.5625 375 x 667 0.5622188905547226 iPhone6 ~ 8 414 x 736 0.5625 iPhone8 ~ 8 Plus 375 x 812 0.4618226600985222 IphoneX 768 x 1024 0.75 iPad and Ipad Mini 1024 x 1366 0.7496339677891654 Ipad Pro 412 x 732 0.5628415300546448 Netus
Node.js
加密