p5.js入门教程之键盘交互


Posted in Javascript onMarch 19, 2018

一、键盘交互相关关键词与函数

keyIsPressed: 关键词,按下按键时为true,反之为false

keyCode: 关键词,用于判断按下哪个按键

keyPressed():函数,按键按下时触发一次

keyReleased():函数,按键松开时触发一次

keyIsDown():函数,按下指定按键时返回true,反之为false

以下是一个较综合的案例,用wsad与zxcv控制小球移动:

var x=200; 
var y=200; 
var speed=2; 
 
function setup() {  
 createCanvas(400, 400); 
}  
 
function draw() {  
 background(220); 
 ellipse(x,y,20,20); 
 if(keyIsPressed){ 
  //持续触发 
  //字母用小写 
  if(key=='a'){ 
   x-=speed; 
  } 
  if(key=='d'){ 
   x+=speed; 
  } 
 } 
 if(keyIsDown(87)){ 
  //持续触发 
    //使用keyCode 
  //87即w 
  y-=speed; 
 } 
 if(keyIsDown(83)){ 
  //持续触发 
  //使用keyCode 
  //83即s 
  y+=speed; 
 } 
} 
 
function keyPressed(){ 
 //按键按下时触发一次 
 //字母用大写 
  if(key=='Z'){ 
  x-=20; 
 } 
 if(key=='X'){ 
  x+=20; 
 } 
} 
 
function keyReleased(){ 
 //按键松开时触发一次 
 //字母用大写 
  if(key=='C'){ 
  y-=20; 
 } 
 if(key=='V'){ 
  y+=20; 
 } 
}

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

二、key与keyCode

下面这个案例将在画面上输出你按下的按键的key与keyCode,在写程序时可以用这个办法快速查找keyCode:

function setup() {  
 createCanvas(400, 400); 
}  
 
function draw() {  
 background(220); 
 textAlign(CENTER); 
 textSize(30); 
 if(keyIsPressed){ 
  text(key,200,180);  
  text(keyCode,200,220);  
 } 
}

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

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

Javascript 相关文章推荐
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
jQuery关键词说明插件cluetip使用指南
Apr 21 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
jQuery实现的经典滑动门效果
Sep 22 Javascript
基于jquery实现表格内容筛选功能实例解析
May 09 Javascript
将json转换成struts参数的方法
Nov 08 Javascript
JavaScript实现二分查找实例代码
Feb 22 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
May 22 Javascript
vue el-table实现自定义表头
Dec 11 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 Javascript
图解JS原型和原型链实现原理
Sep 15 Javascript
vue 实现的树形菜的实例代码
Mar 19 #Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 #Javascript
jQuery替换节点元素的操作方法
Mar 18 #jQuery
使用Angular CLI生成 Angular 5项目教程详解
Mar 18 #Javascript
分析javascript原型及原型链
Mar 18 #Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 #jQuery
jQuery中each方法的使用详解
Mar 18 #jQuery
You might like
php设计模式  Command(命令模式)
2011/06/17 PHP
用jscript实现新建word文档
2007/06/15 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
python unittest实现api自动化测试
2018/04/04 Python
python 读取文件并替换字段的实例
2018/07/12 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python将视频转换为全字符视频
2019/04/26 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
应届生会计求职信
2013/11/11 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
市场营销调查计划书
2014/05/02 职场文书
政治表现评语
2014/05/04 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
答谢词范文
2015/01/05 职场文书
司考复习计划
2015/01/19 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
Java Spring Lifecycle的使用
2022/05/06 Java/Android