Getting Started with Processing 第五章:响应

一次与永久

setup()函数

Processing 中,setup()函数只运行一次,用于设置一些初始的值,比如画布的大小,还有填充和线条粗细,颜色的代码。第一行总是size(),接下啦是其他声明。

draw()函数

draw()函数的代码块会一直运行下去,除了按停止键或者关闭窗口。

编写程序的顺序:

  1. 首先创建不在 setup() 和 draw() 函数中的全局变量
  2. 让 setup()函数的代码块执行一次。
  3. 让 draw()函数的代码块持续进行

变量

在 Processing 中,可以通过三个途径与电脑进行交互:

  1. 移动鼠标。mouseX 和 mouseY 储存了当前鼠标的位置,数据类型是 float 类型。书中的例子是应用其画线。
  2. 按下鼠标。mousePressed 是一个 boolean 类型的数值。在书中的例子是改变色块的颜色。还有一个 mouseButton 的常数,其中设定的数值有 RIGHT,CENTER 和 LEFT。
  3. 通过键盘输入。keyPressed 是一个 boolean 类型的数值,还有另外的数值,如 key 读取键盘的输入。此外,用于输出的时候,会用到 textSize(),textAlign()用于设置文字的大小和对齐方式,用 text() 绘制文字。

映射

map(x,xmin,xmax,ymin,ymax);
map用于映射,应该是 x 和 y 之间的关系是一次函数的关系,可以通过map()函数进行转换,转换的五个参数风别是:

  1. 要转换的数值
  2. 要转换的数值的范围的最小值
  3. 要转换的数值的范围的最大值
  4. 转换成的数值的范围的最小值
  5. 转换成的数值的范围的最大值
    这样使得代码更加易读。

Getting Started with Processing 第五章的总结的更多相关文章

  1. Getting Started with Processing 第五章的easing问题(2)

    程序代码清单如下: float x; float y; float px; float py; float easing = 0.05; void setup(){ size(480,120); st ...

  2. Getting Started with Processing 第五章的easing问题

    分析 使用 easing easing 的感官目的是为了 draw 的时候,画的图形不是即时 mouseX 的值,而是稍有落后一点.从算法分析,就是让所画图形的 x 坐标 落后于 mouseX 的值, ...

  3. 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...

  4. 《Entity Framework 6 Recipes》中文翻译系列 (22) -----第五章 加载实体和导航属性之延迟加载

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使 ...

  5. 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第五章:荣耀之钥:度量成功 我们的分析师常常得不到我们应得的喜欢,尊重和资金,因为我们没有充分地衡量一个黄金概念:成果.因为我们 ...

  6. 《Linux内核设计与实现》读书笔记 第五章 系统调用

    第五章系统调用 系统调用是用户进程与内核进行交互的接口.为了保护系统稳定可靠,避免应用程序恣意忘形. 5.1与内核通信 系统调用在用户空间进程和硬件设备间添加了一个中间层, 作用:为用户空间提供了一种 ...

  7. Java语言程序设计(基础篇) 第五章 循环

    第五章 循环 5.2 while循环 1.while循环的语法如下: while(循环继续条件){ //循环体 语句(组); } 2.程序:提示用户为两个个位数相加的问题给出答案 package co ...

  8. 读《编写可维护的JavaScript》第五章总结

    第五章 UI层的松耦合 5.1 什么是松耦合 在Web开发中,用户界面是由三个彼此隔离又相互作用的层定义的: HTML是用来定义页面的数据和语义 CSS用来给页面添加样式 JavaScript用来给页 ...

  9. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

随机推荐

  1. tr 命令用法

     tr a. 替换全部字符 [root@bogon scripts]# tr [a-z] [A-Z]  < /etc/fstab    将读出的结果全部替换成大写字母  (取一行作为展示效果) ...

  2. topcoder srm 515 div1

    problem1 link 暴力枚举即可. problem2 link 一共有24小时,所以最多有24个顾客.设$f[x][y][z]$表示还剩下$x$把刀,现在时间是$y$,以及来过的顾客集合为$z ...

  3. Maven3版本的超级POM位置及中央仓库位置

    背景 之所以想到这个问题,是因为在配置Nexus-Maven 私服的时候,需要在Maven的settings.xml中对<mirror>进行配置,在配置中央仓库的镜像时,<mirro ...

  4. CentOS7下Docker中构建Jenkins容器

    背景 在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署. 安装前提 jdk已安装,安装目录如:usr/java/jdk1.8.0_161 maven ...

  5. Bootstrap3基础 bg-danger/info... 辅助类样式 背景文本颜色

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  6. linux内核中的IPIs是什么?

    答: 处理器间中断(Interprocessor Interrupts)

  7. 再谈fedora 23中的flash的安装

    安装下载, flash插件的地址是 https://get.adobe.com/flashplayer/ ls 的显示, 记住两个很常用的选项: 指定 "假设的屏幕的宽度" , - ...

  8. Elasticsearch-->Get Started-->Modifying Your Data

    https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-modify-data.html Mod ...

  9. 3. Elements of a Test Plan

    https://jmeter.apache.org/usermanual/test_plan.html This section describes the different parts of a ...

  10. P2504 [HAOI2006]聪明的猴子

    思路 最小生成树中最大的边,边权最小 所以这题就变成最小生成树的板子了,跳跃距离大于最大边权的猴子就是可行的 代码 #include <cstdio> #include <algor ...