Processing 007 鼠标、键盘事件

Processing 007 鼠标、键盘事件

1 鼠标事件

1.2 鼠标坐标

processing 中 mouseX, mouseY 是默认的保存鼠标位置的变量

void draw() {
  background(255);
  circle(mouseX, mouseY, 300);
}

让圆跟随鼠标运动。

1.3 上一帧鼠标位置

上一帧鼠标位置 pmouseX, pmouseY

void draw() {
  background(255);
  line(pmouseX, pmouseY, mouseX, mouseY);
}

很不错的一种鼠标痕迹效果

1.4 鼠标事件

鼠标按下后,会自动调用 mousePessed 函数

鼠标按下
void mouseMoved(){
    x = mouseX;
    y = mouseY;
}

鼠标按下后圆会跑到鼠标位置。

除了有按下事件还有其它几个事件:

鼠标松开
void mouseReleased(){
  x = mouseX;
  y = mouseY;
}
鼠标拖拽
void mouseDragged(){
  x = mouseX;
  y = mouseY;
}
鼠标点击
void mouseClicked(){
  x = mouseX;
  y = mouseY;
}
鼠标双击
void mouseClicked(MouseEvent e){
  if(e.getCount() == 2){
    println("double clicked");
  }
}
鼠标滚动
void mouseWheel(MouseEvent e){
  println(e.getCount());//滚动量
}
在循环中判断

除了上述方式之外,也可以直接在代码中判断

void draw() {
  background(255);
  
  if(mousePressed){
      println("mouse clicked");
  } 
}

键盘事件

keyPressed 函数用来处理键盘按下的事件

float vx, vy, x, y;

void setup() {
  background(255);
  size(1000, 800);
  fill(#00FF00, 255);
  x = width / 2;
  y = height / 2;
}


void draw() {
  background(255);
  circle(x, y, 200);
}

void keyPressed(){
    if(key == 'a'){
        x -= 2;
    }else if(key == 'd'){
        x += 2;
    }else if(key == 'w'){
        y -= 2;
    }else if(key == 's'){
        y += 2;
    }
}

同样也可以用变量 keyPressed 进行判断.

其它事件

keyReleaseed, keyTyped 等

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值