H5小游戏的坑点小结

坑点:

1) iOS 9.1 的safari中,在onTouchBegan方法中调用cc.audioEngine.playEffect播放音效是没有效果的,如果在onTouchEnded调用则是正常的,使用addTouchEventListener来播放也是正常的;

解决方案:在第一次addTouchEventListener回调方法里调用cc.audioEngine.playEffect()后再调用cc.audioEngine.stopAllEffects();之后在onTouchBegan方法中调用cc.audioEngine.playEffect就正常了

 

2) iOS中如果启用的是自动渲染模式,在支持webgl中如果启用了webgl,如果关闭电源键后等大概3秒后再进入系统然后导致应用崩溃(原生的safari好像不会,应用切到后右时间长一些再切到前台也可能会崩溃),微信和自己写的应用都会有这个问题,所以只能改成canvas模式进行渲染,默认使用30帧即可。但是有一些动画需要连贯和频繁的就需要改成60帧,但要注意canvas在低端的Android机那简直就不忍直视。

崩溃的原因:应用切入到后台后,webview里面的小游戏还在调用渲染,底层会调用到opengl的相关函数,这就导致应用直接崩溃了。有兴趣可以自己写个例子,然后设定http代理,通过微信扫一扫进行测试

如果自己想偷懒,可以找青瓷游戏上的demo用微信扫一扫测试,会导致微信直接闪退,我给一个链接地址:

http://engine.zuoyouxi.com/demo/

原文地址:https://www.cnblogs.com/meteoric_cry/p/5341109.html