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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
Jquery easyUI 更新行示例
Mar 06 Javascript
jQuery中next()方法用法实例
Jan 07 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
Mar 04 Javascript
AngularJS快速入门
Apr 02 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
jquery插件uploadify多图上传功能实现代码
Aug 12 Javascript
学习vue.js计算属性
Dec 03 Javascript
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
JavaScript仿京东秒杀倒计时
Mar 17 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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
Python代码的打包与发布详解
2014/07/30 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python如何编写win程序
2020/06/08 Python
使用Python封装excel操作指南
2021/01/29 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
初一科学教学反思
2014/01/27 职场文书
消防应急演练方案
2014/02/12 职场文书
挂牌仪式主持词
2014/03/20 职场文书
新年寄语大全
2014/04/12 职场文书
记账会计岗位职责
2014/06/16 职场文书
信用卡工资证明格式
2014/09/13 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
学习普通话的体会
2014/11/07 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书