Structure(1)
********************************************************************
名称: .(dot)
功能描述:用来访问对象的方法和数据。对象是类的实体,包括一组方法和数据。
语法: object.method()
object.data
参数: object 要访问的对象
method() 该对象的方法
data 该对象的变量或者常量
用途: web和应用程序
相关: Object
********************************************************************
名称: super
功能描述:Keyword used to reference the superclass of a subclass
语法:
参数:
用途: web和应用程序
相关: class extends
********************************************************************
名称: setup()
功能描述:程序开始运行时执行一次。用来初始化环境属性,如屏幕大小,背景颜色,装入图形等。在函数draw()执行前运行。在setup()中声明的变量,在别的函数中不能访问,包括draw()函数。每个应用程序只能有一个setup()函数并且该函数在运行完成后不能再此被调用。
语法: void setup(){
statements
}
参数: statements 任何声明或者描述
用途: web和应用程序
相关: loop() size()
********************************************************************
名称: exit()
功能描述:退出/停止程序。没有draw()函数的应用程序会在执行完最后一行程序后自动退出,但是有draw()函数的程序会一直执行该函数,直到手动停止或者退出运行状态。
exit()不会立即将应用程序终止,它会促使draw()函数执行完毕后退出sketch。(or after setup()completes if called during the setup() method)。
对于java的程序员,exit()与System.exit()不一样。更近一步,不能使用System.exit(),因为当draw()运行时关闭应用程序会和System.exit()冲突(尤其是使用OpenGL)。
语法: exit()
返回值: 无
用途: web和应用程序
********************************************************************
class 名称:
功能描述:用来声明类的关键字。类是由数据和方法构成的,并且可以例化为对象。通常情况下,类的名字的首字母要大写,用来与其他变量作为区分。
语法: class ClassName{
statements
}
参数: ClassName 任何有效的变量名称
statements 任何声明或者描述
用途: web和应用程序
相关: Object
********************************************************************
名称: void
功能描述:用来表明没有返回值的函数的关键字。每一个函数必须返回一个特定类型的数据或者使用关键字void指定该函数不返回任何数据。
语法: void function(){
statements
}
参数: function 任何被定义或者实现的函数
statements 任何有效的声明或者描述
用途: web和应用程序
********************************************************************
名称: size()
功能描述: 定义显示窗口的尺寸,单位是像素。size()函数必须放在setup()函数内的第一行。如果没有调用size()函数,窗口将使用默认的尺寸:100*100像素大小。系统变量width和height值通过size()函数的参数传递设置。
不要用变量作为参数传递给size(),这样在导出你的设计(sketch)时会产生问题。当使用变量作为参数时,在导出sketch设计时,窗口尺寸不能确定。作为替代,传递数值给size()函数,当你的窗口需要窗口的尺寸信息是,在你的程序中使用内置变量width和height来获得尺寸信息。
MODE参数用来选择图形引擎。例如,如果你想在网页绘制3D图形,选择P3D;如果你想输出使用OpenGL图形加速的程序,那就选择OPENGL。下面简要介绍4种图形引擎(render):
JAVA2D – 默认的render。这个引擎支持2维图形绘制,提供高的图形质量,但是速度比P2D低。
P2D(Processing 2D)- 快速2D引擎。处理像素数据非常出色,但是不如JAVA2D精确。
P3D(Processing 3D)- web应用的快速3D引擎。牺牲3D图形的质量,但是提高了绘制速度。
OPENGL – 使用OpenGL兼容的图形硬件实现高速3D图形绘制。不过一定要有这个概念,OpenGL不是神仙,它并不能使所有的sketch程序都快起来,使用其他图形引擎得到快速运行的应用,完全依赖于你的代码质量。同时注意,当使用了OpenGL后,所有的图形都进行平滑处理,smooth()和nosmtooh()命令都会被忽略。
PDF – PDF引擎用来将2D图形直接输出到Acrobat的PDF文件。当你需要打印或者输出高质量的矢量图形时,可以用PDF引擎得到极好的效果。必须先导入PDF的库,你才能访问该功能。要得到更多的信息请阅读PDF库参考文件。如果你能熟练的操作像素(使用类似于get()、blend()或者使用pixels[ ]数组),一般情况下,P2D、P3D会比默认的引擎JAVA2D快,并且OPENGL也会比JAVA2D快。类似情况,当处理大量图形,或者进行视频回放时,P2D、P3D也会比JAVA2D更快。
P2D、P3D、OPENGL引擎不支持strokeCap()和strokeJoin(),当上述3种引擎使用strokeWeight()时,会导致难看的结果。
当使用JAVA2D引擎绘制2D图形,特别是当使用了smooth()时,大部分情况会获得超一流的、精确的2D图形。使用JAVA2D会慢点,但却是默认的引擎。高级用户如果选择其他引擎,请权衡利弊。
我们要权衡图形引擎的速度、精确度、还有可用到的有效性。没有完美的引擎,我们提供多个引擎,你可以权衡利弊,为你的工程选择合适的引擎。我们期望所有的引擎都能达到视觉的精确度、高性能、提供更多可选择的特征,不过说起来简单做起来难。
宽和高的极限受限于你的操作系统,一般情况与你显示器实际的宽和高是一致的。 On some machines it may simply be the number of pixels on your current screen, meaning that a screen that's 800x600 could support size(1600, 300), since it's the same number of pixels. This varies widely so you'll have to try different rendering modes and sizes until you get what you're looking for. If you need something larger, use createGraphics to create a non-visible drawing surface。
再次提醒,size()方法必须放在代码的第一行(或者放到setup内的第一行)。任何在size()命令前的代码都有可能运行多次(超过一次),导致不期望的结果。
语法: size(width,height)
size(width,height,MODE)
参数: width int:显示窗口的像素宽度
height int:显示窗口的像素高度
MODE P2D、P3D、JAVA2D、OPENGL任意一个类型
用途: web和应用程序
相关: createGraphics() screen
********************************************************************
名称: /* */(多行注释)
功能描述: 嵌入到代码内的注释。注释可以提醒你或者其他人,关于这段代码的功能。多行注释用于数量较大的关于代码的文本描述,或者在调试程序时,可以注释掉无关代码。编译器会忽略注释,不进行编译。
语法: /*
comment
*/
参数: comment 任何字符
用途: web和应用程序
相关: //(comment)
/** */(doc comment)
********************************************************************