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 相关文章推荐
多个iframe自动调整大小的问题
Sep 18 Javascript
javascript 打印内容方法小结
Nov 04 Javascript
关于jquery动态增减控件的一些想法和小插件
Aug 01 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
javascript 在firebug调试时用console.log的方法
May 10 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
小程序转发探索示例
Feb 19 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
JS操作JSON常用方法(10w阅读)
Dec 06 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中防止恶意刷新页面的代码小结
2012/10/31 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
Javascript中prototype的使用详解
2016/06/18 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
ES6入门教程之Class和Module详解
2017/05/17 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
详解Vue 如何监听Array的变化
2019/06/06 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
深入理解Django的中间件middleware
2018/03/14 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Python 自由定制表格的实现示例
2020/03/20 Python
Django URL参数Template反向解析
2020/11/24 Python
python 下载文件的几种方法汇总
2021/01/06 Python
基于PyTorch中view的用法说明
2021/03/03 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
迟到检讨书500字
2014/02/05 职场文书
给学校的建议书范文
2014/05/15 职场文书
2014年共青团工作总结
2014/12/10 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python