天天看點

Processing API Structure(1)

 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  任何字元

用途:    web和應用程式

相關:    //(comment)

          (doc comment)

********************************************************************