Path smooth fading in paperjs
I would like to do a path fading effect that would make the path disappear by fading its stroke progressively along the path.
What I'm able to do for now is removing one by one each of the segments of the path, producing a rather poor effect: sketch.
var circle = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
circle.addSegment(circle.firstSegment);
fade();
function fade()
if (circle.segments.length > 0)
setTimeout(function()
circle.lastSegment.remove();
fade();
, 1000);
Is there a way to make the animation smoother ?
animation paperjs
add a comment |
I would like to do a path fading effect that would make the path disappear by fading its stroke progressively along the path.
What I'm able to do for now is removing one by one each of the segments of the path, producing a rather poor effect: sketch.
var circle = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
circle.addSegment(circle.firstSegment);
fade();
function fade()
if (circle.segments.length > 0)
setTimeout(function()
circle.lastSegment.remove();
fade();
, 1000);
Is there a way to make the animation smoother ?
animation paperjs
add a comment |
I would like to do a path fading effect that would make the path disappear by fading its stroke progressively along the path.
What I'm able to do for now is removing one by one each of the segments of the path, producing a rather poor effect: sketch.
var circle = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
circle.addSegment(circle.firstSegment);
fade();
function fade()
if (circle.segments.length > 0)
setTimeout(function()
circle.lastSegment.remove();
fade();
, 1000);
Is there a way to make the animation smoother ?
animation paperjs
I would like to do a path fading effect that would make the path disappear by fading its stroke progressively along the path.
What I'm able to do for now is removing one by one each of the segments of the path, producing a rather poor effect: sketch.
var circle = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
circle.addSegment(circle.firstSegment);
fade();
function fade()
if (circle.segments.length > 0)
setTimeout(function()
circle.lastSegment.remove();
fade();
, 1000);
Is there a way to make the animation smoother ?
animation paperjs
animation paperjs
asked Nov 14 '18 at 10:48
blarueblarue
1515
1515
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
To do a smooth path animation, you don't have to necessarily remove segments, you can also play with path.dashArray and path.dashOffset.
By setting dash array to the length of the path and by animating dash offset, you can achieve what you are looking for.
Look at this schema for better understanding:
Here is a sketch demonstrating the solution.
// create path
var path = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
path.addSegment(path.firstSegment);
// set dash array as long as path length
path.dashArray = [path.length, path.length];
// on frame...
function onFrame(event)
// ...increment dash offset
path.dashOffset += 1;
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53298410%2fpath-smooth-fading-in-paperjs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
To do a smooth path animation, you don't have to necessarily remove segments, you can also play with path.dashArray and path.dashOffset.
By setting dash array to the length of the path and by animating dash offset, you can achieve what you are looking for.
Look at this schema for better understanding:
Here is a sketch demonstrating the solution.
// create path
var path = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
path.addSegment(path.firstSegment);
// set dash array as long as path length
path.dashArray = [path.length, path.length];
// on frame...
function onFrame(event)
// ...increment dash offset
path.dashOffset += 1;
add a comment |
To do a smooth path animation, you don't have to necessarily remove segments, you can also play with path.dashArray and path.dashOffset.
By setting dash array to the length of the path and by animating dash offset, you can achieve what you are looking for.
Look at this schema for better understanding:
Here is a sketch demonstrating the solution.
// create path
var path = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
path.addSegment(path.firstSegment);
// set dash array as long as path length
path.dashArray = [path.length, path.length];
// on frame...
function onFrame(event)
// ...increment dash offset
path.dashOffset += 1;
add a comment |
To do a smooth path animation, you don't have to necessarily remove segments, you can also play with path.dashArray and path.dashOffset.
By setting dash array to the length of the path and by animating dash offset, you can achieve what you are looking for.
Look at this schema for better understanding:
Here is a sketch demonstrating the solution.
// create path
var path = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
path.addSegment(path.firstSegment);
// set dash array as long as path length
path.dashArray = [path.length, path.length];
// on frame...
function onFrame(event)
// ...increment dash offset
path.dashOffset += 1;
To do a smooth path animation, you don't have to necessarily remove segments, you can also play with path.dashArray and path.dashOffset.
By setting dash array to the length of the path and by animating dash offset, you can achieve what you are looking for.
Look at this schema for better understanding:
Here is a sketch demonstrating the solution.
// create path
var path = new Path.Circle(
center: view.center,
radius: 50,
strokeColor: 'black',
closed: false
);
path.addSegment(path.firstSegment);
// set dash array as long as path length
path.dashArray = [path.length, path.length];
// on frame...
function onFrame(event)
// ...increment dash offset
path.dashOffset += 1;
answered Nov 14 '18 at 10:54
sasensisasensi
1,298114
1,298114
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53298410%2fpath-smooth-fading-in-paperjs%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown