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播放wav文件(源码)
Apr 22 Javascript
jQuery简易图片放大特效示例代码
Jun 09 Javascript
javascript消除window.close()的提示窗口
May 20 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
Sep 06 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
May 10 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
element-ui 限制日期选择的方法(datepicker)
May 16 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
Dec 02 Javascript
express.js中间件说明详解
Mar 19 Javascript
element-ui上传一张图片后隐藏上传按钮功能
May 22 Javascript
js验证账户名是否重复
May 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
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php关联数组快速排序的方法
2015/04/17 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
基于Python解密仿射密码
2019/10/21 Python
python dumps和loads区别详解
2020/02/04 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
CSS3 二级导航菜单的制作的示例
2018/04/02 HTML / CSS
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
房地产管理毕业生自荐信
2013/11/04 职场文书
土木工程个人自荐信范文
2013/11/30 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
先进个人事迹材料
2014/12/29 职场文书
中考学习决心书
2015/02/04 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
食堂管理制度范本
2015/08/04 职场文书
厉行节约工作总结
2015/08/12 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
如何写好竞聘报告
2019/04/03 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python