p5.js入门教程之鼠标交互的示例


Posted in Javascript onMarch 16, 2018

本文介绍了p5.js入门教程之鼠标交互的示例,分享给大家,具体如下:

一、鼠标交互常用关键词

p5.js提供了许多鼠标操作用的关键词与函数,常用的有:

mouseIsPressed:关键词,若鼠标按下则为true,反之为false

mouseButton:关键词,用来判断鼠标按下的是哪个键

案例如下:

function setup() {  
 createCanvas(400, 400); 
}  
function draw() {  
 background(220); 
 if (mouseIsPressed) { 
  textAlign(CENTER); 
  textSize(30); 
  if (mouseButton == LEFT) 
   text("LEFT",200,height/2); 
  if (mouseButton == RIGHT) 
   text("RIGHT",200,height/2); 
  if (mouseButton == CENTER) 
   text("CENTER",200,height/2); 
 } 
}

当鼠标按下左、中、右键时,分别会在屏幕上显示“LEFT”、“CENTER”、“RIGHT"。

查看效果:

http://alpha.editor.p5js.org/full/BkEcwrdUb

二、鼠标交互常用函数

鼠标操作常用函数如下,还有:

mouseClicked():函数,鼠标点击时触发一次
mousePressed():函数,鼠标按下时触发一次
mouseReleased():函数,鼠标松开时触发一次

我们可以用这些函数控制何时在屏幕上显示图形,案例如下:

var showEllipse=false; 
var showRect=false; 
function setup() {  
 createCanvas(400, 400); 
}  
function draw() {  
 background(220); 
 if (mouseIsPressed){ 
  ellipse(50, height/2, 50, 50); 
 } 
 if(showEllipse){ 
    ellipse(200, height/2, 50, 50); 
 } 
 if(showRect){ 
  rectMode(CENTER); 
  rect(350,height/2,50,50);  
 } 
} 
function mouseClicked(){ 
 showEllipse=!showEllipse; 
} 
 
function mousePressed(){ 
 showRect=true; 
} 
function mouseReleased(){ 
 showRect=false; 
}

查看效果:http://alpha.editor.p5js.org/full/BkHEY8OUZ

三、鼠标拖拽物体

灵活运用以上关键字和函数,可以做出许多功能,这里举一例,用鼠标拖拽物体。

代码如下:

var x=200; 
var y=200 
var r=50; 
function setup() {  
 createCanvas(400, 400); 
}  
 
function draw() {  
 background(220); 
 if(mouseIsPressed&&dist(mouseX,mouseY,x,y)<r){ 
  x=mouseX; 
  y=mouseY; 
 } 
 ellipse(x,y,r,r); 
}

查看效果:http://alpha.editor.p5js.org/full/SJ6gbPdLb

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

Javascript 相关文章推荐
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
Sep 27 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
Nov 26 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
Sep 03 Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
用jQuery实现可输入多选下拉组合框实例代码
Jan 18 Javascript
Web技术实现移动监测的介绍
Sep 18 Javascript
旺旺在线客服代码 旺旺客服代码生成器
Jan 09 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
vue prop属性传值与传引用示例
Nov 13 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
Mar 16 #Javascript
解决npm管理员身份install时出现权限的问题
Mar 16 #Javascript
vue-router相关基础知识及工作原理
Mar 16 #Javascript
axios post提交formdata的实例
Mar 16 #Javascript
在vue组件中使用axios的方法
Mar 16 #Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 #Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 #Javascript
You might like
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
用PHP 4.2书写安全的脚本
2006/10/09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
用php解析html的实现代码
2011/08/08 PHP
php数组编码转换示例详解
2014/03/11 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
python发腾讯微博代码分享
2014/01/10 Python
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
python super的使用方法及实例详解
2019/09/25 Python
python科学计算之narray对象用法
2019/11/25 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
汉语专业应届生求职信
2013/10/01 职场文书
爱岗敬业演讲稿范文
2014/01/14 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
出售房屋委托书范本
2014/09/24 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
2014年共青团工作总结
2014/12/10 职场文书
鲁冰花观后感
2015/06/10 职场文书
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS