Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置js海龟分形的动画?_Javascript_Turtle Graphics - Fatal编程技术网

Javascript 如何设置js海龟分形的动画?

Javascript 如何设置js海龟分形的动画?,javascript,turtle-graphics,Javascript,Turtle Graphics,我需要使用js绘制分形,所以分形是动画的,直到它完全像python海龟的例子一样绘制 我试过指挥部。文档中有一个名为animate的函数,但我无法使用它,它只等待一段时间,然后在没有任何动画的情况下绘制分形 我输入命令inputanimate(演示,1000) 有什么建议吗 如果我不能在js turtle中使用动画,有没有其他快速简单的库可以完成绘制分形的工作 您没有正确使用animate()。您不能仅仅将其应用于已完成的程序,并期望其行为发生变化。相反,您需要将其纳入程序中。应该有一个函数,每

我需要使用js绘制分形,所以分形是动画的,直到它完全像python海龟的例子一样绘制

我试过指挥部。文档中有一个名为
animate
的函数,但我无法使用它,它只等待一段时间,然后在没有任何动画的情况下绘制分形

我输入命令input
animate(演示,1000)

有什么建议吗


如果我不能在js turtle中使用动画,有没有其他快速简单的库可以完成绘制分形的工作

您没有正确使用
animate()
。您不能仅仅将其应用于已完成的程序,并期望其行为发生变化。相反,您需要将其纳入程序中。应该有一个函数,每次调用时都会绘制动画的一部分。然后通过
animate()
反复调用它。改写您的示例:

function square(side) {
    repeat(4, function () {
        forward(side);
        right(90);
    });
}

var s = 100

function draw() {
    square(s);
    right(36)

    s -= 10

    if (s < 0) {
        s = 100
        clear()
    }
}

function demo() {
    hideTurtle();
    colour(0, 0, 255, 1);
    animate(draw, 500);
}
功能方块(侧面){
重复(4,函数(){
前方(侧面);
右(90);
});
}
var s=100
函数绘图(){
广场(s);
右(36)
s-=10
如果(s<0){
s=100
清除()
}
}
函数demo(){
隐藏();
颜色(0,0,255,1);
制作动画(绘制,500);
}

通过
demo()
调用它,不要对其调用
animate()
。它的基本动画单位是正方形。如果要查看正在绘制的正方形,则需要重新设计代码,使基本动画单元成为正方形(即线)的侧面。

显示您尝试过的代码。您可能需要等待绘图过程的每个步骤。看来你只等了一次(或同时等了所有时间)。@JensV,我输入了它,但现在更新了。我刚刚下载了这个库及其启动程序代码,并进行了尝试。您可以在这里尝试,库中的
animate
仅使用
setInterval
。这意味着动作的移动实际上没有动画。它只是等待并执行操作。当它等待时,执行仍在继续。为了获得与python示例相同的行为,您可能可以查看JS async await以使工作更容易