javascript - 我可以在画布中逐部分描边路径吗?
问题描述
我想一步一步画出一条路径,任意两步之间有一定的时间段。
我现在的代码是
let canvas = document.getElementById("c");
let ctx = canvas.getContext('2d');
let p = 'M10 10 h 80 v 80 h -80 Z';
let pathArr = ["M10", "10 h", "80 v", "80 h", "-80 Z"];
let lgt = pathArr.length;
let i = 0;
(function draw() {
if(i < lgt){
let pathElem = new Path2D(pathArr[i]);
ctx.stroke(pathElem);
i++;
setTimeout(draw, 200);
}
})();
预期的功能是做ctx.stroke(p)
会做的事情,但一步一步地,就像pathArr
一次抚摸一个元素,每两笔之间有 200 毫秒的延迟。
但是,此代码无法按预期工作。我做错了什么,我应该怎么做才能使其按预期工作?
解决方案
推荐阅读
- c# - SemanticModel..GetSymbolInfo /GetDeclaredSymbol 返回 null
- java - 如何使用 Sinch 进行电话验证?
- node.js - 如何从 Node js 中的 post 请求中返回数据?
- matlab - 如何在 regionprops3 命令中识别微米单位的物体?
- typescript - 接口就像一个指针一样
- node.js - 在纯后端 NodeJS 应用程序中是否需要捆绑包?
- php - 查找具有动态键的数组值
- git - Git 克隆设置为原点,无法从远程存储库中读取
- python - 当索引为整数时如何从熊猫系列中获取数据?
- angular5 - 将数据从子组件传递到子组件