时间:2021-05-26
一、跟随鼠标移动的小球
使用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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了p5.js入门教程之鼠标交互的示例,分享给大家,具体如下:一、鼠标交互常用关键词p5.js提供了许多鼠标操作用的关键词与函数,常用的有:mouseIs
相关阅读:AngularJS入门教程之AngularJS表达式AngularJS入门教程之AngularJS指令在前面表达式和指令的教程中了解到,Angular
页面与页面间平滑过渡,可以让页面展示更加自然,在Office365中可利用平滑过渡轻松解决,该怎么添加这个效果呢?下面我们就来看看详细的教程。软件名称:Offi
一、什么是p5.js最近接触了一门数字媒体艺术类的课程,名为Interactivity,教的是p5.js。主讲老师就是开发者之一……还是挺激动的。p5.js是一
本文实例讲述了nodejs入门教程之调用内部和外部方法。分享给大家供大家参考,具体如下:1.创建fun.jsvarfun3=require('./fun3');