鼠标响应: 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. [译]在Mac上运行ASP.NET 5

    原文:http://stephenwalther.com/archive/2015/02/03/asp-net-5-and-angularjs-part-7-running-on-a-mac 这篇文章 ...

  2. spring缓存Ehcache(入门2)源码解读

    Ehcache缓存: 解读: Ehcache缓存是在继承spring缓存核心类CacheManager的基础上实现的. 常用类: EhCacheCacheManager:继承自CacheManager ...

  3. python简明手册学习

    1.行末单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行. >>> "This is the first sentence.\ ... This is the s ...

  4. POJ 2452 Sticks Problem

    RMQ+二分....枚举 i  ,找比 i 小的第一个元素,再找之间的第一个最大元素.....                   Sticks Problem Time Limit: 6000MS ...

  5. POJ 2029 Get Many Persimmon Trees

    Get Many Persimmon Trees Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3243 Accepted: 2 ...

  6. Linux 之安装文件

    1.首先要检查 rpm -q gcc glibc glibc-common rrdtool rrdtool-devel expat expat-devel pcre pcre-devel dejavu ...

  7. BeanFactory和ApplicationContext的区别

     1.BeanFactory和ApplicationContext的异同点: 相同点:     两者都是通过xml配置文件加载bean,ApplicationContext和BeanFacotry相比 ...

  8. linux 学习之路

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  9. 如何安装最新的 XFCE 桌面?

    导读 Xfce 是一款针对 Linux 系统的现代化轻型开源桌面环境,它在其他的类 Unix 系统上,比如 Mac OS X. Solaries. *BSD 以及其它几种上也能工作得很好.它非常快并以 ...

  10. angularjs表达式中的HTML内容,如何不转义,直接表现为html元素

    在模板中直接: 在ionic中直接使用: <p class="contentwen" ng-bind-html="detial.content">& ...