【processing】小代码3
鼠标响应: 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的更多相关文章
- 【processing】小代码
今天无意间发现的processing 很有兴趣 实现很简洁 void setup(){ } void draw(){ background(); && mouseY > heig ...
- 小代码编写神器:LINQPad 使用入门
原文:小代码编写神器:LINQPad 使用入门 一:概述 1:想查看程序运行结果,又不想启动 VS 怎么办? 2:想测试下自己的 C# 能力,不使用 VS 的智能感知,怎么办? 那么,我们有一个选择, ...
- Python小代码_2_格式化输出
Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...
- Python小代码_1_九九乘法表
Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...
- 简单的Java逻辑小代码(打擂台,冒泡排序,水仙花数,回文数,递归)
1.打擂台 简单的小代码,打擂台.纪念下过去,祝福下新人. public static void main(String[] args){ int[] ld = {1,4,2,10,8,9,5}; i ...
- python的mysql小代码
我因为懒,就想写个批量insert数据的小代码 这里是代码 # _*_ encoding:utf-8 _*_ import os import MySQLdb import numpy as np d ...
- 一段小代码秒懂C++右值引用和RVO(返回值优化)的误区
关于C++右值引用的参考文档里面有明确提到,右值引用可以延长临时变量的周期.如: std::string&& r3 = s1 + s1; // okay: rvalue referen ...
- 【processing】小代码2
函数: 绘制直线自由图形: beginShape(), vertex(), endShape() 分别是绘制图形开始,连接图形的节点,绘制结束 endShape(CLOSE)表示闭合图形. 绘制曲线边 ...
- 【processing】小代码4
translate(x,y); 移动坐标原点到x,y处 rotate(angle); 坐标沿原点顺时针转动angle度 scale(n); 绘制图像放大n倍 pushMatrix() 将当前坐标压入 ...
随机推荐
- Html书写规范
#cnblogs_post_body ol { padding-left: 0px; } body { line-height: 1.6; } body, th, td, button, input, ...
- VS2008上借助VA来提示QT API
1.打开VS,工具-->选项-->项目和解决方案-->VC++目录,在右侧下拉框中选择-->包含文件,添加QT的include目录 2. 打开VA配置页,Projects--& ...
- 微信电脑版微信1.1 for Windows更新 可@人/转发撤回消息/可播小视频
微信电脑版微信1.1 for Windows发布更新了,版本号为1.1.0.18,群聊可@人/可转发撤回消息/可播小视频,功能越来越接近微信手机版了. 本次更新的一些新特点: 群聊中可以@人. 消息可 ...
- 浮动层-JS兼容IE6
//引用jquery 包/*orderBycat 与 orderBycatHead 双层浮动*/ $(window).scroll(function () { var top = $(window). ...
- Code First03---CodeFirst根据配置同步到数据库的三种方式
上一节我们说到使用Fluent API对实体的配置,但是有一个问题了,在业务中我们可以用到的实体很多,那是不是每个都需要这样去配置,这样就造成我们重写的OnModelCreating方法很庞大了.所以 ...
- Android开发App工程结构搭建
本文算是一篇漫谈,谈一谈关于android开发中工程初始化的时候如何在初期我们就能搭建一个好的架构. 关于android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角 ...
- 在linux下安装Python:
# 下载最新版本 cd /usr/local/src/ sudo wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2 su ...
- union联合体
今天笔试的一道题,好久没用union了,竟然忘光光了. 关于其大小的计算,分两步:先算对齐大小(成员中字节最大的那个),再算分配空间: 不仅是对齐大小的整数倍,还要满足实际大小不能小于最大成员大小. ...
- buildroot 制作Linux文件系统初级使用教程
buildroot 下载地址:https://buildroot.org/download.html 放在Linux文件下解压出来. 使用make menuconfig 进行配置相关的东西. 在使用这 ...
- 2015安徽省赛 J.镜像树
http://xcacm.hfut.edu.cn/problem.php?id=1214 乱搞题 数组+结构体 递归遍历 #include<iostream> #include<cs ...