鼠标响应: mouseX, mouseY 鼠标的坐标

----------------------------------------------

void setup()
{
size(,);
smooth();
background();
} void draw()
{
fill(,,);
rectMode(CENTER);
rect(mouseX,mouseY,,);
}

随着鼠标的移动画方块

-----------------------------------------------------

dist(x1,y1,x2,y2) 计算两点之间的距离

void setup()
{
size(,);
smooth();
} void draw()
{
background();
stroke();
float d = dist(mouseX, mouseY,,);
strokeWeight(d/);
fill();
ellipse(,,d*,d);
strokeWeight(d/);
fill(,,);
ellipse(,,d,d);
fill();
noStroke();
ellipse(,,d/,d/);
}

眼睛的大小会随着鼠标位置改变

------------------------------------------------------------------

pmouseX,pmouseY: 鼠标的上一个坐标点

void setup()
{
size(,);
strokeWeight();
smooth();
stroke(,,,);
background();
}
void draw()
{
line(mouseX,mouseY,pmouseX,pmouseY);
}

画出鼠标的轨迹

---------------------------------------------------------

鼠标响应事件

void mousePressed(){} 等价于 void draw(){if(mousePressed){}}

void mouseMoved(){}

void mouseDragged(){}

void setup()
{
size(,);
smooth();
background(,,,);
}
void draw()
{
if(mousePressed)
{
stroke();
fill(,,);
ellipse(mouseX,mouseY,,);
}
}

鼠标按下时画圆,一直按着不放就一直画圆 不要边框后更好看些

-------------------------------------------------------------------------------------------

void setup()
{
size(,);
smooth();
background(,,,);
}
void draw()
{
}
void mouseMoved()
{
stroke(,,,);
rectMode(CENTER);
fill(,,,);
rect(mouseX,mouseY,,);
}
void mouseDragged()
{
stroke(,,,);
fill(,,,);
ellipse(mouseX,mouseY,,);
}

鼠标移动画方,鼠标拖动画圆

-------------------------------------------------------------

mouseButton  含 LEFT, RIGHT, CENTER

void setup()
{
size(,);
smooth();
background();
rectMode(CENTER);
} void draw()
{
if(mousePressed)
{
if(mouseButton == LEFT)
{
fill();
}
else if(mouseButton==CENTER)
{
fill();
}
else
{
fill();
}
rect(mouseX,mouseY,,);
}
}

按下鼠标不同键颜色不同

--------------------------------------------------------

键盘响应:

keyPressed 按键响应 void keyPressed(){} 或 void draw(){if(keyPressed){}}

key 特定键响应 在keyPressed基础上加 if(key == 'a')

keyCode 功能键响应 包括 ALT, CONTROL, SHIFT,UP,DOWN,LEFT,RIGHT

int x = ;
int y = ;
void setup()
{
size(,);
smooth();
background();
rectMode(CENTER);
}
void draw()
{
if(keyPressed && (key == CODED))
{
if(keyCode == LEFT)
{
x--;
}
else if(keyCode == RIGHT)
{
x++;
}
else if(keyCode == UP)
{
y--;
}
else if(keyCode == DOWN)
{
y++;
}
}
ellipse(x,y,,);
}

---------------------------------------------------------------

随机:random(10) 生成0-10的任意浮点数

int(random(6,10)), 生成6 7 8 9中任意一个数

void setup()
{
size(,);
smooth();
background();
stroke(,);
colorMode(HSB,,,);
}
void draw()
{
float d = random();
fill(random(),,,);
ellipse(random(),random(),d,d);
}

-------------------------------------------------------

限制 constrain(value,min,max); 限制value值在min-max范围内

int x = ;
int y = ;
void setup()
{
size(,);
smooth();
}
void draw()
{
background();
fill();
rect(,,,);
fill();
rect(,,,);
float mx = constrain(mouseX,,);
float my = constrain(mouseY,,);
fill();
ellipse(mx,my,,);
}

【processing】小代码3的更多相关文章

  1. 【processing】小代码

    今天无意间发现的processing 很有兴趣 实现很简洁 void setup(){ } void draw(){ background(); && mouseY > heig ...

  2. 小代码编写神器:LINQPad 使用入门

    原文:小代码编写神器:LINQPad 使用入门 一:概述 1:想查看程序运行结果,又不想启动 VS 怎么办? 2:想测试下自己的 C# 能力,不使用 VS 的智能感知,怎么办? 那么,我们有一个选择, ...

  3. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  4. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

  5. 简单的Java逻辑小代码(打擂台,冒泡排序,水仙花数,回文数,递归)

    1.打擂台 简单的小代码,打擂台.纪念下过去,祝福下新人. public static void main(String[] args){ int[] ld = {1,4,2,10,8,9,5}; i ...

  6. python的mysql小代码

    我因为懒,就想写个批量insert数据的小代码 这里是代码 # _*_ encoding:utf-8 _*_ import os import MySQLdb import numpy as np d ...

  7. 一段小代码秒懂C++右值引用和RVO(返回值优化)的误区

    关于C++右值引用的参考文档里面有明确提到,右值引用可以延长临时变量的周期.如: std::string&& r3 = s1 + s1; // okay: rvalue referen ...

  8. 【processing】小代码2

    函数: 绘制直线自由图形: beginShape(), vertex(), endShape() 分别是绘制图形开始,连接图形的节点,绘制结束 endShape(CLOSE)表示闭合图形. 绘制曲线边 ...

  9. 【processing】小代码4

    translate(x,y);  移动坐标原点到x,y处 rotate(angle); 坐标沿原点顺时针转动angle度 scale(n); 绘制图像放大n倍 pushMatrix() 将当前坐标压入 ...

随机推荐

  1. spring 缓存(spring自带Cache)(入门)源码解读

    spring自带的缓存类有两个基础类:Cache(org.springframework.cache.Cache)类,CacheManager(org.springframework.cache.Ca ...

  2. 使用PHP的五个小技巧

    PHP的一些小技巧,比较基础,总结一下,老鸟换个姿势飘过去就是. 1. str_replace str_replace是非常常常常常用的php函数,用于字符串替换,经常看到某些php新人为了替换一批字 ...

  3. Bellman_Ford

    Source:http://www.cnblogs.com/Jason-Damon/archive/2012/04/21/2460850.html 摘自百度百科 Bellman-ford算法是求含负权 ...

  4. mysql 按距离今日时间最近排序

    xxx order by abs(DATEDIFF(time_start,now()))

  5. linux中tar命令用法

    把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其 ...

  6. git 忽略文件权限

    git config --add core.filemode false 发现.git/config 中新增了一行: [core] ... filemode = false ref: http://b ...

  7. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

  8. SQL merge into 表合并

    Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源 ...

  9. jsp自定义标签(时间格式化包括Long转时间)

    1.jsp自带标签的格式化: jstl fmt 函数大全:主要针对格式化功能 Tags   fmt:requestEncoding fmt:setLocale fmt:timeZone fmt:set ...

  10. zookeeper部署及集群测试

    zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: ...