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 验证浏览器是否支持javascript的方法小结
May 17 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
Sep 18 Javascript
Bootstrap显示与隐藏简单实现代码
Mar 06 Javascript
node安装--linux下的快速安装教程
Mar 21 Javascript
jQuery实现div跟随鼠标移动
Aug 20 jQuery
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
Vue组件化开发思考
Feb 02 Javascript
Vue项目引发的「过滤器」使用教程
Mar 12 Javascript
vue+element UI实现树形表格带复选框的示例代码
Apr 16 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 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
杏林同学录(九)
2006/10/09 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
Python Selenium截图功能实现代码
2020/04/26 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
一些.net面试题
2014/10/06 面试题
应聘美工求职信
2013/11/07 职场文书
音乐器材管理制度
2014/01/31 职场文书
毕业生自荐书
2014/02/02 职场文书
青年文明号创建承诺
2014/03/31 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
贫困证明怎么写
2015/06/16 职场文书
酒店宣传语大全
2015/07/13 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript