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 相关文章推荐
网易JS面试题与Javascript词法作用域说明
Nov 09 Javascript
javascript 学习笔记(一)DOM基本操作
Apr 08 Javascript
JS继承 笔记
Jul 13 Javascript
浅谈json取值(对象和数组)
Jun 24 Javascript
JavaScript reduce和reduceRight详解
Oct 24 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
vue2里面ref的具体使用方法
Oct 27 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
Dec 01 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实时显示输出
2008/10/02 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
Javascript中Eval函数的使用说明
2008/10/11 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
原生JS实现不断变化的标签
2017/05/22 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
[01:05:40]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第三场
2014/05/24 DOTA
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
实习鉴定评语
2014/01/19 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
工程承诺书怎么写
2014/05/24 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
小学教师年度个人总结
2015/02/05 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL