最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

p5.js入门教程之平滑过渡(Easing)

来源:懂视网 责编:小采 时间:2020-11-27 22:17:33
文档

p5.js入门教程之平滑过渡(Easing)

p5.js入门教程之平滑过渡(Easing):一、跟随鼠标移动的小球 使用mouseX,mouseY可以创建一个跟随鼠标移动的小球。 function setup() { createCanvas(400, 400); } function draw() { background(220); ellipse(mouseX,mouseY,20,20); } 二、让小球更加
推荐度:
导读p5.js入门教程之平滑过渡(Easing):一、跟随鼠标移动的小球 使用mouseX,mouseY可以创建一个跟随鼠标移动的小球。 function setup() { createCanvas(400, 400); } function draw() { background(220); ellipse(mouseX,mouseY,20,20); } 二、让小球更加

一、跟随鼠标移动的小球

使用mouseX,mouseY可以创建一个跟随鼠标移动的小球。

function setup() { 
 createCanvas(400, 400); 
 
} 
 
function draw() { 
 background(220); 
 ellipse(mouseX,mouseY,20,20); 
} 

二、让小球更加平滑的移动——使用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; 
 ellipse(x,y,20,20); 
} 

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

最终效果:https://alpha.editor.p5js.org/full/Sy96bL-8b

三、按钮变色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); 
} 

最终效果:http://alpha.editor.p5js.org/full/BJuEqvW8W

文档

p5.js入门教程之平滑过渡(Easing)

p5.js入门教程之平滑过渡(Easing):一、跟随鼠标移动的小球 使用mouseX,mouseY可以创建一个跟随鼠标移动的小球。 function setup() { createCanvas(400, 400); } function draw() { background(220); ellipse(mouseX,mouseY,20,20); } 二、让小球更加
推荐度:
标签: 平滑 easing p5js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top