存在的问题: 当点击最后一个点时,不是先画线,而是先把最后一个点染色,当触发触摸end事件之后,才画出最后一条线;
这是因为我把画最后一条线的操作写在了touchend事件中。为什么写在touchend事件中,是因为在touchmove事件时画线,最后一个点的线始终没有画出来;
后面得调一下,感觉还是不能放到end事件里面;
已解决;
第二次start时,要让界面回到最初的状态,本来的想法是把填充点的颜色设为white;把画线的颜色设为white;但是这样并不能覆盖掉之前画的黄色; 所以采用另一种解决办法: 先清除canvas的内容; 然后画出初始的9个圆就可以了
还有待做的:
-
手势密码的缓存; 可以把LineArr中保存的点的id按顺序保存在缓存中,利用localStorage;然后当第二次输密码时,与保存的进行比较,就可以验证密码是否正确 问题: localStorage只能保存字符串,因此保存的时候需将对象转换成字符串,调JSON.stringify(); 获取的时候取到的也是字符串,调JSON.parse可将其转换为对象 已解决
-
触摸Move回退时,也就是说已访问过的点触发move事件时,要将其最后画出的线删除掉
-
构成一条直线的3个点应该是同时在LineArr中的,不可能两端在,而中间点不在.但现在还存在这个问题