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 相关文章推荐
jquery tab标签页的制作
May 10 Javascript
jQuery选择头像并实时显示的代码
Jun 27 Javascript
提取字符串中年月日的函数代码
Nov 05 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
JS中prototype的用法实例分析
Mar 19 Javascript
jQuery实现form表单元素序列化为json对象的方法
Dec 09 Javascript
微信小程序 教程之模块化
Oct 17 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
Mar 10 Javascript
利用JS判断客户端类型你应该知道的四种方法
Dec 22 Javascript
详解Angular5 路由传参的3种方法
Apr 28 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 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
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php猜单词游戏
2015/09/29 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php生成HTML文件的类方法
2019/10/11 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
javascript中new关键字详解
2015/12/14 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
LayUI表格批量删除方法
2018/08/15 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
Python2.7读取PDF文件的方法示例
2017/07/13 Python
人工智能最火编程语言 Python大战Java!
2017/11/13 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
文秘个人求职信范文
2014/04/22 职场文书
访谈节目策划方案
2014/05/15 职场文书
测控技术自荐信
2014/06/05 职场文书
硕士生找工作求职信
2014/07/05 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
商业计划书范文
2019/04/24 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
Ruby处理YAML和json数据
2022/04/18 Ruby
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android