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 相关文章推荐
Google 静态地图API实现代码
Nov 19 Javascript
jquery uaMatch源代码
Feb 14 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
Oct 11 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
Jun 04 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 Javascript
javascript遍历json对象的key和任意js对象属性实例
Mar 09 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
Dec 20 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
个人自我鉴定
2013/11/07 职场文书
业绩考核岗位职责
2014/02/01 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
优秀护士演讲稿
2014/04/30 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
交通事故起诉书
2015/05/19 职场文书
立案决定书范文
2015/06/24 职场文书
升学宴学生致辞
2015/07/27 职场文书
国庆节主题班会
2015/08/15 职场文书