一、键盘交互相关关键词与函数
keyIsPressed: 关键词,按下按键时为true,反之为false
keyCode: 关键词,用于判断按下哪个按键
keyPressed():函数,按键按下时触发一次
keyReleased():函数,按键松开时触发一次
keyIsDown():函数,按下指定按键时返回true,反之为false
以下是一个较综合的案例,用wsad与zxcv控制小球移动:
function setup() {
createCanvas(400,400);
}
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;
}
}
查看效果:
二、key与keyCode
下面这个案例将在画面上输出你按下的按键的key与keyCode,在写程序时可以用这个办法快速查找keyCode:
function draw() {
background(220);
textAlign(CENTER);
textSize(30);
if(keyIsPressed){
text(key,200,180);
text(keyCode,220);
}
}
background(220);
textAlign(CENTER);
textSize(30);
if(keyIsPressed){
text(key,200,180);
text(keyCode,220);
}
}