HTML5跨平台游戏开发
腾讯 无线游戏产品部
曹雨
跨平台的标准
怎样才叫跨平台
1 保证在各个平台可以正常使用
2 保证照顾到各个平台的的性能
3 保证各个平台的用户体验并照顾到平台差异性
保证不同平台能正常使用
先把应用跑起来
交互方式的不同
PC常见的交互有单击,双击,拖动,窗口缩放
触屏常见的交互有点击,拖动,多点触控,各种传感器
键盘手持设备有……啥都没有
事件的不同
PC:click, dblclick, dragstart, dragend, mousemove
触屏:click, touchstart, touchend, touchcancel, touchmove, "Gesture"
用不同平台的基础事件来组装我们的虚拟事件
(Android和IOS监听touch事件后很可能不会触发click事件)
CLICK:click
PC DRAG:dragstart, mousemove, dragend
不同 CLICK:touchstart, touchend
安卓 DRAG:touchstart, touchmove, touchend
平台
CLICK:touchstart, touchend
IOS DRAG:touchstart, touchmove, touchend
事件的管理
事件类型 监听对象 调用函数
Click
长经
验
用户
Drag
管理器 面板
升级
仓库
植物
收获
金钱
面板
两个注意点
用户交互事件要针对不同平台做适配
不用的对象一定要从事件管理器里注销,不然会内存泄漏
保证照顾到各个平台的的性能
移动设备就是木桶的短板
提高性能的措施
每秒3帧的速度你伤不起
1 脏矩形技术
抛弃Canvas六参数放射变换模型,采用简化四参
2 数模型。放弃旋转功能
3 各种缓存
最简单的游戏渲染流程
while(true) 清屏
{ clear
clear();
render();
sleep();
}
死循 开始渲染各个组件
HTML5跨平台游戏开发 来自淘豆网m.daumloan.com转载请标明出处.