【发布时间】:2016-08-11 11:01:19
【问题描述】:
大家好,这是我一直在使用的代码。它将一个对象从 A 移动到 B。我想要做的是有多个点可以移动。所以从起始位置 A -> B,然后从 B -> C 等等。也许有一些包含坐标集的变量,这些变量将作为参数输入到一些动画函数中。但是我尝试的任何操作都只导致执行最后一个命令,因此它会直接从 A -> C 移动,而忽略 B。任何建议/演示都表示赞赏。
Javascript
var canvas = new fabric.Canvas('scene', { backgroundColor: 'green'});
var triangle = new fabric.Triangle({
width: 30
, height: 30
, fill: 'red'
, left: 30
, top: 0
});
canvas.add(triangle);
function animateTop() {
triangle.animate('top', '+=55', {
duration: 1000,
onChange: canvas.renderAll.bind(canvas)
});
}
function animateLeft() {
triangle.animate('left', '+=100', {
duration: 1000,
onChange: canvas.renderAll.bind(canvas)
});
}
function fireAnimation() {
animateTop();
animateLeft();
}
document.onreadystatechange = function () {
if (document.readyState == "complete") {
fireAnimation();
}
}
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js"></script>
</head>
<body>
<canvas id="scene" width="400" height="400" />
</body>
</html>
【问题讨论】:
标签: javascript animation fabricjs