第一次做微信游戏,还是蛮好玩了,项目还没完成,边做边在这记录下遇到的问题及解决方案。
1. 游戏中带有快速向下滑动页面的功能,但是移动端自带会有下滑效果,这样就会引起冲突。
解决方案:
禁用默认的移动事件
document.addEventListener(‘touchmove‘, function (event) { event.preventDefault(); })
2. 计算滚动条位置错误。起初是使用“left”参数来设定滚动条的位置,且值为百分比。在PC端,可以正常识别出滚动条的居左位置,然而在移动端不行。
解决方案:
将“left”改为“margin-left”。
3. 若滑动次数过多,页面的动画效果会卡顿。
解决方案:
每次滑动会添加添加一个新的<img>标签并加以动画效果,所以创建完新的后延迟一会儿再删除老的就可以了。但是千万不能一创建完新的就删除,这样在快速滑动时,会有动画断层,第一个正在运动的img还没执行完就被干掉了。
4. 向下滑动一定距离后才能认定为触发成功,但是时而有效时而无效,有时单点也会触发。
解决方案:
在touchstart的时候重置下触点的结束位置的值。
var touchTop = 0; //触点的起始位置 var endTop = 0; //触点的结束位置 var obj = document.getElementById(‘cups‘); obj.addEventListener(‘touchstart‘, function (event) { if (event.targetTouches.length == 1) { var touch = event.targetTouches[0]; touchTop = touch.pageY; endTop = 0; } } }, false); obj.addEventListener(‘touchmove‘, function (event) { if (event.targetTouches.length == 1) { var touch = event.targetTouches[0]; endTop = touch.pageY; } }, false); obj.addEventListener(‘touchend‘, function (event) { if ((endTop - touchTop) > 60) { ... } }, false);
时间: 2024-10-24 02:16:51