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。运行时大家可以多动动鼠标,会发现有趣的变化。

相关推荐
....4922 小时前
antvX6节点全选后鼠标通过拖拉调整视图的展示位置
javascript·计算机外设·数据中台·antvx6
zhslhm2 天前
键盘屏蔽与联网控制小工具
计算机外设·电脑·联网程序管理·键盘屏蔽
x66ccff2 天前
【nvidia】Windows 双 A6000 显卡双显示器驱动更新问题修复
计算机外设
szpc16213 天前
60V单通道高精度线性恒流LED驱动器防60V反接SOD123封装
c语言·开发语言·单片机·嵌入式硬件·计算机外设
Alger_Hamlet3 天前
Mac电脑 鼠标右键助手 像windows的右键菜单
windows·macos·计算机外设
禁默5 天前
CSS基础:鼠标、文本与字体属性详解
前端·css·计算机外设
旧故新长5 天前
多台 Windows 电脑之间共享鼠标和键盘,并支持 剪贴板同步(复制粘贴)
计算机外设
zdlinux6 天前
ubuntu 2204键盘按键映射修改
计算机外设
uuuuu17116448 天前
如何自定义5x5键盘
计算机外设
布朗克1688 天前
macbook电脑如何清理键盘防止误触
macos·计算机外设·电脑·键盘清理·防止误触