【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() 将当前坐标压入 ...
随机推荐
- [转]C++模板学习
1. 模板的概念. 我们已经学过重载(Overloading),对重载函数而言,C++的检查机制能通过函数参数的不同及所属类的不同.正确的调用重载函数.例如,为求两个数的最大值,我们定义MAX()函数 ...
- 【C语言入门教程】2.6 运算符
运算符是程序中用于数值运算的操作符,C 语言的运算符可分为 算术运算符.关系与逻辑运算符 和 位操作运算符 这 3 类. 2.6.1 算术运算符 算术运算符用来完成基本的数值运算,如 加.减.乘.除, ...
- Ubuntu 如何开启 SSH ?
1.安装SS sudo apt-get install openssh-client # 用来登录别的机器的SSH sudo apt-get install openssh-server # 用来开放 ...
- Swift2.1 语法指南——扩展
原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...
- hash-1.hash表和hash算法
1.hash表 哈希表,也叫散列表,是根据关键码(Key)而直接访问的数据结构,也就是它把Key映射到表中一个位置来访问记录,即,把key计算成hashcode,把hashcode存到表中.这个把ke ...
- JQGrid 参数、属性API
JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信. JQGrid Demo 是一个在线的演示项目.在这里,可以知道jqgrid可以做什么事情. 下面是转自其他人b ...
- ADB连不上,ADB server didn't ACK问题,的解决
adb连接不上虚拟机,即便执行了adb kill-server命令也没用? 如果你的错误信息是,ADB server didn't ACK这样的话,说明5037端口被占用了. 只要找出占用此端口的进程 ...
- 获取shell脚本自身所在目录的Shell脚本分享
前几天写的七牛的参赛demo,用bash写了一个便捷安装的脚本,涉及到了路径相关的判断,从stackoverflow,加上自己的实践整理一下. 简单版 下面是一个最简单的实现,可以解决大多数问题,缺陷 ...
- How to keep Environment Variables when Using SUDO
The trick is to add environment variables to sudoers file via sudo visudo command and add these line ...
- ubuntu update dns server
edit: /etc/resolvconf/resolv.conf.d/base nameserver 114.114.114.114 execute this: $ resolvconf -u f ...