推荐设备MORE

免费制作网页

免费制作网页

行业新闻

小程序开发上线后_p5.js入门教程之滑润过渡(Eas

日期:2021-01-08
我要分享
p5.js入门教程之平滑过渡(Easing)       本篇文章主要介绍了p5.js入门教程之平滑过渡(Easing),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一般制作精良的UI界面都会用到平滑移动这一效果,也就是利用了名为“Easing”的方法。

实现思路是另外设置变量以进行位置的过渡,代码如下:

var x=0; 
var y=0; 
var targetX=0; 
var targetY=0; 
var easing=0.1; 
function setup() { 
 createCanvas(400, 400); 
 x=mouseX; 
 y=mouseY; 
function draw() { 
 background(220); 
 targetX=mouseX; 
 targetY=mouseY; 
 x+=(targetX-x)*easing; 
 y+=(targetY-y)*easing; 
 elli凡科抠图e(x,y,20,20); 
} 

easing的值越大,跟随的速度会越快。

最终效果:

三、按钮变色Easing

当然,不仅仅是在物体运动,一切涉及数值变化的都可以使用Easing来进行过渡。

以下代码是一个按钮,当鼠标移到上方时,会逐渐变色,也是用了Easing进行过渡。

var rectX=0; 
var rectY=0; 
var rectHeight=100*0.618; 
var rectWidth=100; 
var hoverR=255; 
var hoverG=128; 
var hoverB=128 
var exitR=255; 
var exitG=255; 
var exitB=255; 
var R=0; 
var G=0; 
var B=0; 
var ease=0.1; 
function setup() { 
 createCanvas(400, 400); 
 rectX=width/2; 
 rectY=height/2; 
 R=exitR; 
 G=exitG; 
 B=exitB; 
function draw() { 
 background(220); 
 if(mouseX =rectX-rectWidth/2 mouseX =rectX+rectWidth/2 
 mouseY =rectY-rectHeight/2 mouseY =rectY+rectHeight/2){ 
 R+=(hoverR-R)*ease; 
 G+=(hoverG-G)*ease; 
 B+=(hoverB-B)*ease; 
 }else{ 
 R+=(exitR-R)*ease; 
 G+=(exitG-G)*ease; 
 B+=(exitB-B)*ease; 
 fill(R,G,B); 
 rectMode(CENTER); 
 rect(rectX,rectY,rectWidth,rectHeight,8); 
} 

最终效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。