canvas轨迹回放功能实现
本文通过json机构,HTML代码以及JS代码详细给大家分析了canvas轨迹回放功能实现的过程,以下是全部内容。
json结构
[
{
"path":[
{
"x":82,
"y":43
},
{
"x":83,
"y":43
},
{
"x":84,
"y":45
},
{
"x":86,
"y":47
},
{
"x":86,
"y":49
},
{
"x":86,
"y":54
},
{
"x":86,
"y":59
},
{
"x":86,
"y":64
},
{
"x":86,
"y":69
},
{
"x":86,
"y":74
},
{
"x":86,
"y":78
},
{
"x":86,
"y":83
},
{
"x":86,
"y":87
},
{
"x":86,
"y":89
},
{
"x":86,
"y":91
},
{
"x":86,
"y":92
},
{
"x":86,
"y":93
},
{
"x":86,
"y":94
},
{
"x":86,
"y":95
}
]
},
{
"path":[
{
"x":129,
"y":36
},
{
"x":129,
"y":39
},
{
"x":129,
"y":44
},
{
"x":129,
"y":49
},
{
"x":129,
"y":54
},
{
"x":129,
"y":59
},
{
"x":128,
"y":65
},
{
"x":127,
"y":73
},
{
"x":125,
"y":78
},
{
"x":125,
"y":81
},
{
"x":124,
"y":88
},
{
"x":123,
"y":91
},
{
"x":123,
"y":94
},
{
"x":123,
"y":96
},
{
"x":123,
"y":97
},
{
"x":123,
"y":98
},
{
"x":123,
"y":99
},
{
"x":122,
"y":100
}
]
}
]
html
将json作为js文件引入,并将其赋值给全局变量testPath(引入方式按照实际项目要求来)
start
js
$('#start').click(function(event){
varlineIndex=0,pointIndex=0,line2;
varobj=document.getElementById('test');
varcxt=obj.getContext('2d');
cxt.lineWidth=1;
cxt.strokeStyle='red';
cxt.lineCap='round';
cxt.clearRect(0,0,600,200);
functiondrawBegin(){
cxt.beginPath();
pointIndex=0;
varintervalHandle=window.setInterval(function(){
line2=testPath[lineIndex].path[pointIndex];
if(!line2){
window.clearInterval(intervalHandle);
if(lineIndex
以上就是本次文章的全部内容,如果大家在测试的时候还有什么疑问,可以在下方的留言区讨论。