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 相关文章推荐
JavaScript中出现乱码的处理心得
Dec 24 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
Oct 29 Javascript
单击和双击事件的冲突处理示例代码
Apr 03 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
最新最热最实用的15个jQuery插件汇总
Jul 05 Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
Jan 26 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
Apr 28 Javascript
jQuery实现产品对比功能附源码下载
Aug 09 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
Aug 24 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
Javascript中弹窗confirm与prompt的区别
Oct 26 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
goto语法在PHP中的使用教程
2020/09/17 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
Javascript实现的分页函数
2006/12/22 Javascript
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
js 表格隔行颜色
2009/12/02 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
微信小程序实现折叠面板
2018/01/31 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
资产评估专业大学生求职信
2013/09/29 职场文书
求职简历中个人的自我评价
2013/12/01 职场文书
个人自我鉴定总结
2014/03/25 职场文书
学校与家长安全责任书
2014/07/23 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers