【发布时间】:2016-08-15 22:50:45
【问题描述】:
我使用pathData 方法[demo] 创建了一条线。我希望线条在onFrame 函数中产生小波浪效果。此外,当onMouseDrag 运行时,这条线会产生橡皮筋效应,而onMouseUp 运行时它会恢复到原来的形状。我是Paper.js 的新手,所以当我编写一些代码时,我会得到失去对象形状的动画。检查以下代码
代码更新
var amount = 55;
var center = view.center;
function onFrame(event) {
// Loop through the segments of the path:
for (var i = 0; i <= amount; i++) {
var path = linePath;
var segment = path.segments[i];
// A cylic value between -1 and 1
var sinus = Math.sin(event.time * 3 + i);
// Change the y position of the segment point:
segment.point.y = sinus * 1 + center.y;
}
}
function onMouseDrag(event) {
var location = linePath.getNearestLocation(event.point);
var segment = location.segment;
var point = segment.point;
if (!point.fixed && location.distance < 600 / 4) {
var y = event.point.y;
point.y += (y - point.y) / 6;
if (segment.previous && !segment.previous.fixed) {
var previous = segment.previous.point;
previous.y += (y - previous.y) / 24;
}
if (segment.next && !segment.next.fixed) {
var next = segment.next.point;
next.y += (y - next.y) / 24;
}
}
}
请任何 paperJs 专家帮助我实现它。帮助将不胜感激,在此先感谢。
【问题讨论】:
标签: javascript html animation canvas paperjs