Processing圆圈随鼠标运动

一.案例代码如下:

import processing.pdf.*;

import java.util.Calendar;

boolean savePDF = false;

float tileCount =20;

color circleColor = color(0);

int circleAlpha = 180;

int actRandomSeed =0;

void setup(){

size(600,600);

}

void draw(){

if(savePDF)beginRecord(PDF,timestamp()+".pdf");

translate(width/tileCount/2,height/tileCount/2);

background(255);

smooth();

noFill();

randomSeed(actRandomSeed);

stroke(circleColor,circleAlpha);

strokeWeight(mouseY/60);

for(int gridY=0;gridY<tileCount;gridY++){

for(int gridX=0;gridX<tileCount;gridX++){

float posX=width/tileCount*gridX;

float posY =height/tileCount*gridY;

float shiftX=random(-mouseX,mouseX)/20;

float shiftY=random(-mouseX,mouseX)/20;

ellipse(posX+shiftX,posY+shiftY,mouseY/15,mouseY/15);

}

}

if(savePDF)

{savePDF=false;

endRecord();

}

}

void mousePressed(){

actRandomSeed=(int) random(100000);

}

void keyReleased(){

if(key=='s'||key=='S') saveFrame(timestamp()+"_##.png");

if(key=='p'||key=='P') savePDF=true;

}

String timestamp(){

Calendar now=Calendar.getInstance();

return String.format("%1ty%1tm%1td_%1tH%1tM%1tS",now);

}

保存并运行如图1

图1

注意:案例中按下大写P或者小写p保存PDF,如果按下大写S或者小写s可以保存PNG。运行时大家可以多动动鼠标,会发现有趣的变化。

相关推荐
Hello_Pyhx1 天前
Hookshot v2.1.0:用键鼠玩《时之笛》,把操控和画面调顺手
计算机外设
Rattenking1 天前
OpenCV 轨迹栏操作和键盘响应操作
人工智能·opencv·计算机外设
jllws17 天前
键盘实现输入的思路
计算机外设
不脱发的程序猿9 天前
STM32制作单手鼠标键盘
stm32·嵌入式硬件·计算机外设·usb·qmk
AntsData11 天前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设
时间的情敌11 天前
Vue3 + Cesium 鼠标交互绘制多边形 / 线(贴地绘制,动态预览,Entity 实现)
计算机外设
小幂同学12 天前
鼠标左右键自动点击怎么设置?单击、双击与宏录制说明
计算机外设·鼠标连点器·连点器·点击器·自动点击器
摩尔芯创12 天前
一期一会 | 什么是抬头显示器(HUD)?
计算机外设
苏州福兰克12 天前
运行裸眼3D显示器对电脑显卡配置有什么要求?
3d·计算机外设·电脑
巧手打字通-一起来打字12 天前
怎么才能科学快速的学会电脑26键盘打字?
计算机外设·电脑·键盘